帮我讲讲循环吧,我不懂,就快考级了 急急急

2025-04-13 12:13:20
推荐回答(1个)
回答(1):

int i,j,m=0; /*赋初值*/
for(k=2;k<6;k++,k++) /*后面k++,k++是逗号表达式,实际K加 了2,可以看作k+=2*/
{s=1; /*赋值给s*/
for(j=k;j<6;j++) s+=j; /*第二个循环,j从k到5,s增加j.*/
}
printf("%d\n",s) /*输出s的十进制值*/

题目是问最后输出,因此就是求s的值,
先看外圈循环,一共会执行两次循环体--第一次是取k=2,第二次取4(之后由于k=6,不符合条件k<6,因此不会执行循环体就跳出);

但是需要注意的是,
循环体第一步是重赋 s 的值(不论前面循环多少次,开始新一轮时,s都为1。),因此s的最后的值是由最后一次循环的k值决定。
所以,求s的值,我们考虑k=4时就行了。

循环体:
{s=1; /*赋值给s*/
for(j=k;j<6;j++) s+=j; /*第二个循环,j从k到5,每轮s增加
j */
}

所以 s=1+4+5=10 最后的答案是10。

好象讲得比较罗嗦,明白就好。