可能重複:
In what order does evaluation of post-increment operator happen?以L值使用後綴增量
考慮下面的代碼片斷(在C):
uint8_t index = 10;
uint8_t arr[20];
arr[index++] = index;
當我編譯此同gcc,它將arr [10]設置爲10,這意味着後綴增量在整個賦值表達式之後纔會被應用錫永。我發現這有點令人驚訝,因爲我期待增量返回原始值(10),然後遞增到11,從而將arr [10]設置爲11.
我見過很多關於增量運算符的其他文章在RValues中,但不在LValue表達式中。
謝謝。
但是,這些其他帖子應該指出你在C中使用的概念來規範這些表達式的有效性,即序列點,否?閱讀完所有這些內容後,您應該能夠發出合格的猜測。 – 2010-10-20 14:06:09
-1爲當天無用的後續問題。看到上面的兩個評論爲我的理由。 – 2010-10-20 14:45:44