首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求教一个for循环的有关问题

2013-04-09 
求教一个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++是在大括号中的内容都执行完后才操作的!所以最后要加一次啊!

热点排行
Bad Request.