求教一个for循环的有关问题
求教一个for循环的问题int main(){int i0,s0for(i1s100i++){s+icouts iendl}couti
求教一个for循环的问题
int main()
{
int i=0,s=0;
for(i=1;s<100;i++)
{
s+=i;
cout<<s<<" "<<i<<endl;
}
cout<<i<<endl;
return 0;
}
执行结果
1 1
3 2
6 3
10 4
15 5
21 6
28 7
36 8
45 9
55 10
66 11
78 12
91 13
105 14
15
这是为什么呢?
为什么s越界后,还会再算一次
[解决办法]当s是91的时候还是小于100的加上14的时候才越界。。。。。跳出循环·····
[解决办法]因为你的是的增长是在函数体里面
那就表示s是91的时候,s<100,运行到 s+=i;s增长到105,然后输出,然后再检测循环条件,然后退出循环
然后输出i,然后就结束了
[解决办法]for循环中的i++是在大括号中的内容都执行完后才操作的!所以最后要加一次啊!