作业帮 > 综合 > 作业

定义i为整形变量,设其初值为2,则表达式(++i)+(++i)+(++i)的值是什么?

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/26 12:11:34
定义i为整形变量,设其初值为2,则表达式(++i)+(++i)+(++i)的值是什么?
定义i为整形变量,设其初值为2,则表达式(++i)+(++i)+(++i)的值是什么?
正确回答是:不知道!语言没有规定它应该算出什么,结果完全依赖具体系统在具体上下文中的具体处理.其中牵涉到运算对象的求值顺序和变量修改的实现时刻问题,是未定义行为(undefined behavior).
实际应该说的是:这种东西根本不该写,讨论其效果没有意义.

详细可以看看这篇文章:C/C++ 语言中的表达式求值顺序
http://bbs.csdn.net/topics/370153775