for(int i=1;i++<4;);运行后为啥i后来变成了5,如果修改成++i<4,结果是啥呢

for(int i=1;i++<4;);运行后为啥i后来变成了5,如果修改成++i<4,结果是啥呢

for(int i=1;i++<4;);运行后为啥i后来变成了5,如果修改成++i<4,结果是啥呢

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
笨蛋999 2018-04-30 17:18:22

单独说i++<4这个是①先用i和4进行比较,②然后执行i+1(这两步是绑定执行的),循环不执行的条件是i=4的时候,跳出循环,也就是4<4不满足条件,然后继续执行i++,然后4就变成5了,如果改成++i<4的话,那么就是先执行i+1,在去和4进行比较,所以这时候跳出循环的时候,i的值是4

isayai 2018-04-23 16:34:32

http://img1.sycdn.imooc.com//climg/5add9a5a00014c1308840646.jpg

在最后一次判断的时候位进入循环但是自增了一次

一叶知秋519 2017-10-09 18:43:07

i++<4在这个for循环中作为一个整体;当i=4时,会先判断i<4,再进行自增,所以结果是5;如果是++i<4,那么i的最终值就是4。

  • 谢谢老师!
    2017-10-27 09:35:07
  • hey_boy #2
    听不懂,麻烦讲的通俗点
    2018-04-20 12:37:19
  • 具体什么地方不懂,建议新建问题,以便于有针对性帮助解答
    2018-04-20 14:22:47
者行孙007 2017-10-09 14:13:52

i++4相当于是for循环的条件吧...他是先判断再自加了....你说的等于5,我觉得应该是等于4才对啊。。后面的如果是++i<4应该就是3了。。不知道对不对。

  • 我开始也这样想的,讲讲我最后的看法哈。i++<4是一个整体,当i的值为4,它先判断i<4已经不符合条件,所以不执行循环体中的语句,但i还是会自增。因为是整体,所以只要判断就会自增。
    2017-10-13 15:59:04
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师