增量比较截断

时间:2014-11-14 08:13:31

标签: c if-statement increment

为什么这个表达式: int value = 0 if(++value == ++value)是真的吗?

不应该等于if(1 == 2)吗?它等于什么?

1 个答案:

答案 0 :(得分:3)

在c中,表达式++value == ++value的值是 undefined 。从技术上讲,这是因为==不是排序点。

非正式地,这意味着您不知道评估++==的顺序。