标签: c if-statement increment
为什么这个表达式: int value = 0 if(++value == ++value)是真的吗?
int value = 0
if(++value == ++value)
不应该等于if(1 == 2)吗?它等于什么?
if(1 == 2)
答案 0 :(得分:3)
在c中,表达式++value == ++value的值是 undefined 。从技术上讲,这是因为==不是排序点。。
++value == ++value
==
非正式地,这意味着您不知道评估++和==的顺序。
++