首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

运算符++的计算时间有关问题

2014-03-19 
运算符++的计算时间问题如上所述,i++计算时间却不同,为什么?楼主在关注这个问题啊貌似一般很多人都会叫你

运算符++的计算时间问题



如上所述,i++计算时间却不同,为什么? 楼主在关注这个问题啊
貌似一般很多人都会叫你不要纠结这个问题的。
printf函数的入参是有顺序的。
至于i++*i++是先执行*再++  这个我也有点模糊
你也一起看置顶贴吧,这个跟先++还是后++一点关系都没有。在C/C++中这个叫未定义行为。
[解决办法]
标准没规定,各编译器厂家自己说了算。
怎么没看置顶贴就发了啊?是不是置顶贴的标题名字不够响亮?
能修改下把 ++ -- ++i++ 这些符号放上去吗?
[解决办法]
引用:
问题很简单,printf输出的时候,对参数列表进行从右往左的编译,而i++都会被认为是先执行当前语句的时候使用i,完了之后再对i进行自加运算。

看置顶贴。
[解决办法]
这个问题真没必要纠结,你用不同的编译器可能结果都不同,因为所有的参数在传递或计算时有的从左往右的顺序传,有的从右往左。 这个与你所用的编译器有很大关系
[解决办法]
这个问题也是月经贴了, 参见C99标准6.5.2.2.10说明
The order of evaluation of the function designator, the actual arguments, and
subexpressions within the actual arguments is unspecified, but there is a sequence point before the actual call.
[解决办法]
http://bbs.csdn.net/topics/370153775

热点排行