再一次,我们最喜欢“i=i--”之类的问题。在 C99 中,我们有:
6.5 表达式#2:在前一个和下一个序列点之间,对象的存储值最多修改一次
70) 这一段呈现 !!undefined!! 语句表达式,例如
i = ++i + 1;
但是对于未定义的行为,可以有从随机输出到“以记录方式执行程序”(c99 3.4.3)的变体
所以,问题:
gcc 是否记录i=i++、i=i-- 等语句的行为?
实际代码是
int main(){int i=2;i=i--;return i;}