求解释c语言题目

 我来答
休闲小蜗牛
2013-07-03 · TA获得超过376个赞
知道小有建树答主
回答量:143
采纳率:0%
帮助的人:71.7万
展开全部
这里关键是这个continue,if语句判断成功他执行的是接下来第一个有分号结尾的continue;而不是n++,continue是继续循环的意思,不是继续执行下面的语句。
所以当if判断为真的时候执行continue后执行的是while(!i),while判断失败则跳出while循环到for循环。
在for循环中i=3时if语句判断为假,continue失效,执行do里面的n++,do执行完后执行while。
进入第三次for循环,跟第一次一样,do里的n++被跳过,while下面的n++被执行。
这样下来,while下面的n++被执行3次,do里的n++被执行一次,此时n=4.解析是错的。
hu0904
2013-07-03 · TA获得超过222个赞
知道小有建树答主
回答量:510
采纳率:0%
帮助的人:450万
展开全部
continue 只跳出内层 do{}while()循环,
if(i%3)等价于 if((i%3)!=0),在i值为 2 4 时都为真
你那评析错了两处 恰好歪打正着。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小七说LoRa
2013-07-03 · TA获得超过461个赞
知道小有建树答主
回答量:433
采纳率:0%
帮助的人:226万
展开全部
只有当i==3的时候,才会执行if下面的n++
if下面的n++执行过一次,while下面的n++执行过3次,所以答案是D

不会的时候,自己调下程序,单步跟踪看看。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
test_pop
2013-07-03 · TA获得超过376个赞
知道小有建树答主
回答量:332
采纳率:100%
帮助的人:234万
展开全部
评析讲的很清楚啊,i=2,n加一次;i=3,n加两次;i=4,n加一次。
所以最后结果为n=4.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式