#include<stdio.h>
int main()
{
int i=0,sum=0;
while(i<=6)
{
sum=sum+i
i++;
}
printf("%d",sum);
return 0;
}
i初始值是0,第一次循环计算sum时,i并没有改变,由于sum 初始也是0,所以第一次循环结束后,sum还是0,i变为1
sum和i的初始值都是0,
sum=sum+i这里第一次的时候是sum = 0+0=0
第二次循环是sum = 0+1=1
第三次循环是sum = 1+2=3
以此类推
计算结果是 0+1+2+3+4+5+6=21
你要先i++;对i加1
再执行sum=sum+i
你题目的解答代码如下:
#include <stdio.h>
int main()
{
int i = 0, sum = 0;
while (i <= 6)
{
i++;
sum = sum + i;
printf("i=%d, sum=%d\n", i, sum);
}
printf("%d", sum);
return 0;
}
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
i不是0吗?
因为第一次循环 sum赋值前的值为0, i的值也为0,所以sum赋值后的值也为0
i=0 sum=0
sum=i+sum=0+0=0
i是0,sum是0,0+0=0