这个C++程序的运行结果为啥会这样
这是未定义行为,不要去研究为什么每个都正确。
■网友
i == ++i, i = 2now i = 4;这是我的测试结果,Win7 + Dev C++.猜测是不是==求值顺序不确定,如楼上说未定义行为,实际结果与编译器有关.
■网友
只需讨论i == (++i)即可。对于i == (++i)而言,先计算++i,然后再计算相等判断。而++i是对i进行自增运算没有改变i的存储地址,所以在进行相等判断时,==运算符左端的i是更新之后的i,所以相等判断永远为真。
推荐阅读
- 如果你的多肉出现这个长势,要注意这个细节,多肉才会越来越美!
- 『活动』让孩子们欢欢喜喜过新年 这个元旦好有爱!南京聋校举办多种形式庆祝活动
- 免费“单人套餐”背后的故事:爱心让这个冬天不再寒冷
- 夫子庙■“秦淮灯会”“夫子庙小吃”等非遗重点保护 护航夫子庙,这个法明年施行
- 气温■@江苏人,这个周末天气晴!温度缓慢回升,早晚依旧“冻”人
- 黄金时间■黄金时间丨哪种产品最节水?购买产品请注意这个标识!
- 『黄金时间』请认准这个蓝色的标志! 黄金时间丨同行业中用水最少的企业
- 招聘都要学历,何来程序员不看学历
- 汽车|评测 | 懂你所想,予你所需!依维柯欧胜2021款这个“搭档”可还行?
- 银行系统的研发岗(程序员)是不是很难进(校招)推广到国企的研发岗(程序员)呢