注册 登录
编程论坛 C++教室

请看看这个程序编码,能否给讲解一下?

hekouren 发布于 2008-08-25 22:42, 763 次点击
#include <iostream>
using namespace std;
int main()
{
    int s;
    for(int k=2;k<6;k+=2){
        s=1;                             //s的赋值在循环体内外有区别
        for(int j=k;j<6;j++) s+=j;
    }
    cout<<s<<endl;
return 0;
}
4 回复
#2
zzt_4282008-08-26 12:33
回答
结果应该是10

第一个for循环执行两次, 第一次k=2开始执行,, 执行完 s的值 是 1+2+3+4+5
但是第二次循环的时候s又被置为1了,第二次循环执行完 s=1+4+5
#3
VanHorn2008-08-26 12:37
楼上正解。
#4
woshibuhui2008-08-26 12:39
外层循环体执行2次:
第一次k=2:s=1+2+3+4+5 //内循环4次
第二次k=4:s=1+4+5     //内循环2次
#5
hekouren2008-08-29 13:07
谢谢各位的讲解!
1