【发布时间】:2013-10-02 13:27:58
【问题描述】:
想象一下:
int X;
X = X;
这将是未定义的行为,因为
1 在以下情况下行为未定义:
[...]
具有自动存储持续时间的对象的值在它被使用时使用 不确定(6.2.4、6.7.8、6.8)。
但是这个呢?
int X;
X;
在引用引用时调用X; 是否允许编译器导致未定义的行为?或者这不算作 X 被“使用”?
【问题讨论】:
-
你已经用 c99 标记了这个问题。 C 1999 和 C 2011 的答案是不同的。你只想要 C 1999 吗?
-
@Eric Postpischil 我引用了 ISO/IEC 9899:TC3,即 c99。但如果两者的行为不同,我更希望得到两者的答案
标签: c c99 undefined-behavior c11