[英]Increment operators and “undefined behaviour”
如comp.lang.c FAQ中所述,C标准规定:
在前一个和下一个序列点之间,对象的存储值最多只能通过表达式的计算修改一次。 此外,只能访问先前值以确定要存储的值。
但是,这篇(现已删除的)文章说a = ++b + ++c;
未定义。 有人可以解释为什么这是未定义的行为?
假设涉及的对象( a
, b
和c
)在表达式a = ++b + ++c;
是不同的,表达是明确的。
也许,作者意味着两次使用相同的变量,例如a = ++b + ++b;
。 我只能推测。 但是在给定的表达式中没有任何不确定性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.