为什么输入2的时候输出的是10

CSDN问答 2021-12-30 12:11:11 阅读数:83

编程开发 输入 输出 CSDN问答

#include<stdio.h>
int main()
{
int a=0,b=1,i,n,sum=0;
scanf("%d",&n);
if(n==1)
printf("%d",a);
else if(n==2)
printf("%d",a+1);
else
{
for(i=3;i<=n;i++)
{
sum=a+b;
a=b;
b=sum;
}
}
printf("%d",sum);

}




采纳答案:

不是10,是1和0
最后printf(sum)放错位置了

#include<stdio.h>int main() { int a = 0, b = 1, i, n, sum = 0; scanf("%d", &n); if(n == 1) printf("%d", a); else if(n == 2) printf("%d", a + 1); else { for(i = 3; i <= n; i++) { sum = a + b; a = b; b = sum; } printf("%d", sum); }}


其他答案2:

其实输出的是1和0,不是10
输入2时,会执行printf("%d",a+1);输出1,然后其它代码不执行,最后执行printf("%d",sum);输出0


其他答案3:

先输出1
再输出0


其他答案4:

img

版权声明:本文为[CSDN问答]所创,转载请带上原文链接,感谢。 https://ask.csdn.net/questions/7619961