[英]Post Increment with respect to Sequence Points
后增量運算符何時會影響增量? 我遇到兩種意見:
1)來自http://gd.tuwien.ac.at/languages/c/programming-bbrown/c_015.htm :
POST表示在執行任何賦值操作之后執行該操作。
...會將增量延遲到表達式的末尾(下一個序列點)。
后期遞增操作也是如此...
A)等到到達序列點或
B)發生在賦值運算符之后或
C)發生在序列點之前的任何時間?
正確的解釋是C,即。 增量發生在下一個序列點之前的某個時間,特別是C標准(C99,6.5.2.4,2)表示:
更新操作數存儲值的副作用將發生在上一個和下一個序列點之間。
全段引號:
后綴++運算符的結果是操作數的值。 獲得結果后,操作數的值將遞增。 (即,向其添加了適當類型的值1。)有關約束,類型和轉換以及操作對指針的影響的信息,請參見加法運算符和復合賦值的討論。 更新操作數存儲值的副作用將發生在上一個和下一個序列點之間。
不管使用增量運算符的位置在哪里,后遞增操作總是在下一個序列點之前發生。 有關更多信息,請參見此鏈接http://en.wikipedia.org/wiki/Sequence_point
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.