这道C语言题目怎么做?

已知inti=1;执行语句while(i++<4);后,变量i的值为(C)。A.3B.4C.5D.6我选的B,书上不是说++的级别高于<吗,所以在i=3时候,先运行I++... 已知int i=1; 执行语句while (i++<4);后,变量i的值为( C )。
A.3 B.4 C.5 D.6
我选的B,书上不是说++的级别高于<吗,所以在i=3时候,先运行I++,i变成4,4<4不成立,所以i=4跳出循环
展开
 我来答
百度网友8b58de0
2019-12-06 · TA获得超过945个赞
知道小有建树答主
回答量:1079
采纳率:83%
帮助的人:315万
展开全部
答案是C,i值是5
注意这个while(i++<4);在i=4的时候,条件不成立,但是退出循环时还要执行一次i++,为什么是5就是这个原因。
详细过程如下:
i=3,i小于4,成立,执行while里语句,没有条件成立时执行语句,再下一个循环前i++;这时i=4。

i=4,i不小于4,不成立,退出循环,退出前i++要起作用。所以i最终为5。
追问
不是应该先+1,在判定吗?
追答
先判定,不管判定如何,最后必须加1
帐号已注销
2019-12-06 · TA获得超过317个赞
知道小有建树答主
回答量:345
采纳率:90%
帮助的人:85.9万
展开全部

正确答案是C。


i++是后置自增,意思是先取值再自增。

当i = 4时,先用i的值4,再做自增运算使得i = 5;然后才发现"4 < 4"不满足while循环条件,跳出while循环。

所以i=5,选C。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雄粑粑锅爸爸
2019-12-21 · 超过25用户采纳过TA的回答
知道答主
回答量:94
采纳率:71%
帮助的人:19.8万
展开全部

答案是C ,,当i等于3的时候还是成立的,此时不等式成立后运行自增 (此时i=4),自增运行后再运行循环后,   接下来接着判断i<4是不成立的,虽然不成立,但是i++还是要运行的,所以结果是5

运行流程:

  1. 先判断i<4是否成立

  2. 运行i++

  3. 运行循环

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式