[英]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.