for(int i=1;i++<4)
这最后的值不应该是4吗? 为啥第一阶段考试里面给的答案是5
i为4的时候,进行判断,
然后不符合条件,不是就已经结束i自增了吗? 为啥还要i继续加1
登陆购买课程后可参与讨论,去登陆吧
同学你好,了解一下++在后是先运算后加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
祝学习愉快~
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值结果为?
同学你好,
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
3、i的结果为4
4、i的结果为4
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
79 1
56 1
9 1
14 1
56 9
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星