蝴蝶牌桧木乒乓底板:c语言(问题)

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 18:48:41
#include<stdio.h>
void main()
{
int i,j,num=0;
for(i=0;i<4;i++)
for(j=i;j<2;j++)
num=num+j;
printf("\n The value of num is %d",num);

}
这里为啥答案为2,不明白

首先走外层循环
i=0 i=i+1
i=1 j=1
然后进入内层
j=2
num=2
现在j已经不小于2了
内层已经形同虚设
所以num=num+j;
不会在执行 因为它属于内层循环
所以num被锁定于2
最后输出2

i开始为0,则j从0开始,到2就循环停止了,num只加了0和1;
i=1时,j从1开始,到2停止循环,num加了1;
i=2时,j一开始从不小于2了,所以从此以后j的循环体都不执行了,
因此num只加了0,1,1,num=2

先执行第二个循环此时sum是1
j不符合条件指向第一层循环i后面的值都不执行
这样说的太麻烦
你自己看看
匆忙看了一下可能是我错了,等看看大家的答案吧
这里很忙啊赚积分阿

注意条件j<2,
当i>=2时都不会执行了

你要注意循环结束的条件啊