for循环的使用

for循环的使用

for(int i=1;i++<4)

这最后的值不应该是4吗? 为啥第一阶段考试里面给的答案是5

i为4的时候,进行判断,


然后不符合条件,不是就已经结束i自增了吗? 为啥还要i继续加1 

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

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

1回答
好帮手慕小脸 2022-03-30 18:08:49

同学你好,了解一下++在后是先运算后加1,这里同学可参考如下解析:

当i=1时,i++<4成立,i=2;

当i=2时,i++<4成立,i=3;

当i=3时,i++<4成立,i=4;

当i=4时,i++<4不成立,i=5;

因此循环结束之后,i的值为5

祝学习愉快~


  • 提问者 W8132455 #1

    for(int i=1;i++<4;)    

    i=1,i++<4 true ,i=2;

    i=2,i++<4 true ,i=3;

    i=3,i++<4 true ,i=4;

    i=4,i++<4 false ,i=5;   这个5 值会在控制台被输出吗? 在编译执行后,若语句输出不是5 而是4.,因此为啥i的结果不是4


    for(int i=1;i<4;i++)

    i=1, i<4 true ,i=2;

    i=2, i<4 true ,i=3

    i=3, i<4 true ,i=4;

    i=4, i<4 false , i=?  (3 or 4 )   这个i最终结果为?  控制台输出i值结果为?


    for(int i=1;++i<4)

    i=1,(2) ++i<4 true ,i=2;

    i=2,(3) ++i<4 true ,i=3;

    i=3,(4)++i<4 false ,i=?(3 or 4);    这个i最终结果为?  控制台输出i值结果为?



    2022-03-30 18:48:00
  • 好帮手慕小脸 回复 提问者 W8132455 #2

    同学你好,

    1、在i = 3时,3 < 4成立,然后i=i +1; i为4,并进入循环,当4 < 4不成立,i = i + 1; 并退出循环,此时i为5

    2、这里同学可以看一下前后自增的区别:

    后自增的情况为:i++,i为3的时候依然会继续循环,直到值为4(也就是循环到4),4<4不成立,退出循环。但是因为这里是后自增,所以最终的i为5

    前自增的情况为:++i,i为3的时候就会退出循环,所以循环内部显示为3,参与的判断的是4,因为这里是先让

    i=3+1,先自增到4。4<4不成立退出。没有后自增,所以最后的结果就是参与判断的值4

    https://img1.sycdn.imooc.com//climg/62450def09dc6f4906140298.jpg

    3、i的结果为4

    https://img1.sycdn.imooc.com//climg/62450dd10925914a06290307.jpg

    4、i的结果为4

    https://img1.sycdn.imooc.com//climg/62450db9098d0d4c07130330.jpg

    祝学习愉快~

    2022-03-31 10:12:20
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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