C++ 自增小问题

发布时间:2024-05-22 03:37 发布:上海旅游网

问题描述:

// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;
int main()
{
int i=1,sun=0;
while (i<=100)
{
sun=sun+i;
i++;
}
cout<<"sun="<<sun<<endl;
return 0;
}
结果是5050,为什么不是5151呢?
开始SUN=1,然后i++(使用I之后加一,此时没使用过I),判断(i<100),此时i应为1(1<100),之后sun=1+i(i为2)这样到最后当i=100时仍然满足条件,理应在执行一次(即加上101)才对。
不知道上面分析哪里错了。谢谢
可以的话什么叫使用过后加一,这里的“使用”指的是什么?

问题解答:

注意顺序
是先判断i<=100
如果符合条件
那么sun=sun+i,这个i是当前的i,
将i加到sun中以后才i++
你说的当i=100时,是最后一次循环了,sun=sun+100,i++所以i=101
然后i不符合<=100,所以不再执行循环。

int i=1,sun=0;

开始时sun=0好不

1到100叠加之后级5050
sun=4950+100语句执行后
i=100
i++则为101
执行比较101<=100不成立
跳出

热点新闻