问答详情
源自:4-6 循环结构之while循环

为什么这样的结果是10100

#include <stdio.h>
int main()
{
    int i,sum=0;
    i=1;
    while(   i<=100  )  //循环条件应该是什么呢?
    {
        sum=sum+i;
         sum=sum+i++;         //这里是不是应该改变循环变量的值
    }
    printf("100以内所有整数之和为:%d\n", sum);
    return 0;
}

提问者:慕标2558104 2019-08-14 18:37

个回答

  • qq_神秘大叔_0
    2019-08-19 17:35:29

    按照运算顺序,sum先加了i,然后遇到++符号,再自增了一次。所以最后结果是(sum+i)++,也就是5050+5050

  • int程序小白
    2019-08-14 19:17:20

    需要将sum=sum+i删掉,或者将下一句sum=sum+i++改为i++