C语言菜鸟问题(16)

来源:百度知道 编辑:UC知道 时间:2024/05/12 20:16:24
以下程序输出的结果是:
int k,j,s;
for(k=2;k<6;k++,k++)
{ s=1;
for(j=k;j<6;j++) s+=j;
}
printf("%d\n",s);

偶是菜鸟自学的 不是专业的 讲得详细一点 谢谢啦、

结果10
开始k=2,s=1执行内层循环,j=k=2,s增加j的值,s=1+2=3,
j增加1为3,s增加j的值,直至j=6,此时s=1+2+3+4+5=15,
回到外层循环k两次增加1,变成4,s=1,再执行内层循环,同上,s=1+4+5=10
k再两次增加1变成6,此时不符合k<6条件,跳出外层循环,输出s的值即为10

这是一个条件语句,上面一句是说K初值为2,每运行一次,K的值加1,直到小于6,下面的类似,说J的初值为K,也是每运行一次,J的值就加1,最后S的值为J+上原来得出来的数

k=2
s=1
j=2
s=3
j=3
s=6
j=4
s=10
j=5
s=15
j=6假跳出内循环
k=4
j=4
s=19
j=5
s=24
j=6假跳出内循环
k=6假跳出外循环
最后s=24

等于10
因为s=1,所以只要看for(k=2;k<6;k++,k++) 的最后一次循环就可以了,因为k只能等于2 、4 ,所以当k=4时 s最后就等于10