萌新求教为什么输出的数多了一个-858993460
当我n输入1和2时为什么除了输出1还有-858993460源代码:
#include <stdio.h>
#include<math.h>
void main()
{
int T,ri;
scanf("%d",&T);
for(ri=0;ri<T;ri++){
int f1,f2,f,i,n;
scanf("%d",&n);
f1=f2=1;
if(n<=2)
printf("%d",1);
if(n<7)
{
for(i=3;i<=n;i++)
{
f=f1+f2;
f1=f2;
f2=f;
}
printf("%d\n",f);
}
else
{
f1=5;
f2=8;
for(i=7;i<=n;i++)
{
f=f1+f2;
f1=f2;
f2=f;
}
int k,a=1;
for(k=0;k<6;k++){
f/=10;
a++;
if(f==0)
break;
}
f1=5;
f2=8;
for(i=7;i<=n;i++)
{
f=f1+f2;
f1=f2;
f2=f;
}
int b,c;
b=f/pow(10,a-2);
c=f%10;
printf("%d %d\n",b,c);
} }
}
就是这一步
if(n<=2)
printf("%d",1); 不应该是1吗,怎么还有这么怪的数出现。大神帮帮我吧