递增运算符和"未定义的行为"

bab*_*bon 5 c language-lawyer

comp.lang.c FAQ中所述,C标准规定:

在前一个和下一个序列点之间,对象的存储值最多只能通过表达式的计算来修改一次.此外,只能访问先前值以确定要存储的值.

但是,这篇(现已删除的)文章说这a = ++b + ++c;是未定义的.有人可以解释为什么这是未定义的行为?

P.P*_*.P. 11

如果表达式中涉及的对象(a,bc)a = ++b + ++c;是不同的,那么该表达式是明确定义的.

也许,作者意味着两次使用相同的变量,如a = ++b + ++b;.我只能推测.但是在给定的表达式中没有任何不确定性.