【发布时间】:2013-10-02 17:21:53
【问题描述】:
在 C99 6.5 中说:
在前一个序列点和下一个序列点之间,一个对象应该有它的 表达式的评估最多修改一次存储的值。 此外,应仅读取先验值以确定该值 储存起来
“此外,应仅读取先验值以确定要存储的值”是什么意思?在 C99 中,为什么 a[i++] = 1 是未定义的行为?
【问题讨论】:
-
@PascalCuoq,你可以把它变成一个答案。这可能是解释序列点的一个很好的例子。
-
@s.bandara 各种linked问题已经很详细地解释了。
-
语言规范是编程语言的法律术语,它们也很有趣。也就是说,不是很多。
-
OP还特别询问,“此外,应仅读取先验值以确定要存储的值”可能是什么意思。
标签: c c99 language-lawyer