C ++赋值运算符关联性

时间:2012-01-30 14:41:36

标签: c++

  

可能重复:
  Undefined Behavior and Sequence Points

在以下c ++代码之后,数组a包含:0,1,2,3,4

int a[5] = {0,1,2,3,4};
int i = 2;
a[i++] = a[i++];

我预计它会是:0,1,3,3,4

任何人都可以解释我为什么?

1 个答案:

答案 0 :(得分:8)

 a[i++] = a[i++];

因为它是未定义的行为。

好读:
Sequence Points
Undefined Behavior and Sequence Points