当前位置:系统粉 > 电脑问答 > 其他问答 > c++程序执行问题

c++程序执行问题

提问者:水贴大王子  |  浏览 次  |  提问时间:2017-03-18  |  回答数量:3

c++程序执行问题请问为什么这段代码输出的结果是10?循环结构是怎样执行的? #include<iostream.h> int main() {         int s;         for(int k=2;k<6;k+=2){                 s=1;                 for(int j=k;j<6;j++)s+=j;         }         cout<<s<<endl;         return 0; }

已有3条答案
让爱化作阿富汗

让爱化作阿富汗

回答数:64  |  被采纳数:73

2017-03-18 03:38:18
外层循环会执行两次,但是起作用的只有第二次,因为你里面写死了s=1,所以无论外层循环执行多少次,真正k的值起作用的也只有最后一次。

由于外层循环k每次加2,所以很明显最后一次是k=4时,进去,执行顺序s=1 ,j=k=4 j<6 进里层循环, 第一次s=s+j=1+4=5j++后等于5 依旧 <6 继续第二次进去s=s+j=5+5=10 j++ 后等于6跳出循环,再跳出外层循环。

那不就只能是10

PS:这神马烂程序,没一点意义。
赞 6
1大漠神鹰1

1大漠神鹰1

回答数:146  |  被采纳数:104

2017-03-18 06:22:34

谢谢,解释得很详细。版主,我还是一个刚开始学的菜鸟,体谅下吧。
赞 14
天魁慕澜

天魁慕澜

回答数:183  |  被采纳数:28

2017-03-18 04:16:05

额,你自己写的啊,我还以为是拿不知道哪里弄过来的例子来问的呢,抱歉抱歉,主要是这样的循环看的是在是。。。。。。。 无心之说,不要介意。
赞 18
解决方法
版权信息

Copyright @ 2011 系统粉 版权声明 最新发布内容 网站导航