中易网

int k, j, s; for (k=2; k<6; k++, k++) { s=1; for (j=k; j<6; j++) s+=J; } printf ("%d\n&qu

答案:4  悬赏:0  
解决时间 2021-03-16 05:18
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); 求详解
最佳答案
int k, j, s;//定义整型变量k,j,s
//将k赋值为2,k++,k++:每次循环将k自增两次,相当于k=k+2,直到k<6为否(循环2次)
for (k=2; k<6; k++, k++)
{
s=1;//将s赋值为1(每次循环都赋值)<----注意在这里,第一次循环的15被1取代
for (j=k; j<6; j++) //将k赋值给j(k第一次是2,第二次是4),每次j++(递增j),直至j<6为否
s+=J;//这里应该是j而不是J,s+=j相当于s=s+j
}
printf ("%d\n" ,s); //输出s的值,并换行

别听上面乱说,s就是10
全部回答
执行第一次循环k=2,s=15清空;第二次循环重新装载s=1;当j=k=4,j<6;s=1+4+5;j=6,k=6结束循环
当k=2时符合k<6,执行下面的语句进行叠加得s=1+2+3+4+5=15 两次k++后k=4符合k<6的条件执行下面的语句进行叠加得s=1+4+5=10 两次k++后k=6不符合k<6,终止循环
由于s=1语句的存在,每次循环开始时s都被置为1,所以此题的外层循环只需要考虑最后一次循环,那么,最后一次循环时k的值是几呢?我们很容易看出,k一定是偶数,而k==6时则不再执行循环,则可知执行最后一次循环时k==4。
即,原代码段可转化为下面代码:
int j,s;
s=1;
for(j=4;j<6;j++)s+=j;
printf("%d\n",s);
这个简单吧1+4+5=10
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
马克思称它为“推动了18世纪欧洲革命”的“第
广益街地下商贸城祥光路西出口地址在什么地方
广州BRT效果怎么样?堵车吗?
广汽菲克自由侠是国产吗还是合资
香泽源饭庄地址在什么地方,想过去办事
魔力里雍边上的麒麟吃咒术吗
夏天到了 提醒公司员工检查空调
在中国教师网上查不到教师资格证的信息,但在
亨达表行地址有知道的么?有点事想过去
恒天国际城5号地下停车场地址有知道的么?有
招若干人什么意思
出租车司机,肚子容易长肉,怎么能够减掉?
由于毕业时 没有交齐学费 最迟多长时间回去拿
百度小说阅读器为什么总是无故自动翻页?
排气管里有铁屑咋回事
推荐资讯
吊车报废年限新规定
黑龙江社保网 男 53岁还能交社会养老保险和医
河北省石家庄市直接办理A3驾驶证,需要什么手
你能告诉我今天是天晴还是下雨英语翻译翻译
全国贫困县利辛拍第几?
淘宝店家卖东西,“预售”和那个需要“定金”
求上映一部不久的电影的名字:讲述的是可以买
求范先慧作品几篇,谢谢!
I saw a big black dog when I came in
如果要从一张正方形纸上剪一个半径是4厘米的
在乐音的特征中,与发声体振动幅度有关的是(
为什么天天酷跑上的公告没见了
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?