C语言小题目~

main(){intj,k,s,m;for(k=1;k<10;k++){s=1;m=k+2;for(j=k;j<m;j++,k++)s+=j:}printf("s=%d,... main()
{int j,k,s,m;
for(k=1;k<10;k++)
{s=1;m=k+2;
for(j=k;j<m;j++,k++)s+=j:
}
printf("s=%d,k=%d",s,k);
}

输出结果:s=16,k=10怎么算的??
展开
 我来答
lilei_ll_ii
2008-09-10 · TA获得超过446个赞
知道小有建树答主
回答量:348
采纳率:100%
帮助的人:312万
展开全部
main()
{int j,k,s,m;
for(k=1;k<10;k++) /*外循环,循环9次K=1--9时循环,最后当K的值为10的时候,K<10不成立,结束循环,所以最后K值为10*/

{
S=1;M=K+2; /*每次进入内循环之前都给S赋值为1,把K+2的值赋给M*/

for(j=k;j<m;j++,k++) /*内循环,先判断前2个表达式,然后运行下边的语句当J>+M时内循环停止运行; 注意J,K的值在运行完S+=J后就各自+1了*/

s+=j; /*此句 首先后边是分号你给打成了冒号,本式换型为S=S+J,前边的S是一个变量,他的值随着S和J的值的变化而变化,但是,每次在从外循环进入内循环的时候S的初值都是1,上边解释过*/

} /*以上所有循环结束*/
printf("s=%d,k=%d",s,k); /*输出最后值,如果把这句放到上边的括号里边就会看到S,K每次值的变化了*/
}
还有什么不懂的地方给我留言,
看到了给你回^-^
绝对步迷
2008-09-10 · TA获得超过272个赞
知道小有建树答主
回答量:182
采纳率:0%
帮助的人:122万
展开全部
你注意下,这个程序里面有2个循环,K每次循环都是自加2次,
for(k=1;k<10;k++) 这个执行的时候K要字加一次,
for(j=k;j<m;j++,k++)s+=j 这个也要自加一次
其他方面应该没难的了吧,你打个草稿应该就能算出来S了,当J>=M时,循环就会结束,这时的S就是要求的

求K,你实际上不用看第2个循环的,第一个才是主循环

for(k=1;k<10;k++) 很显然循环结束K是10
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柔和又妥当的布丁c
2008-09-10 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:0
展开全部
楼上的说的基本很清楚了,不过,补充一点for(k=1;k<10;k++) 是指for循环中的操作全部完成后才加一的,也就是说k++是循环体中的最后一条操作指令
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式