《你的月亮我的C》(五):表達式的求值順序

arr[ i ]=i++;有的編譯器可以允許,有的編譯器會報錯,爲什麼? 因爲i這個變量在同一個表達式裏被兩個地方引用了。表達式右邊i++做後綴自增行爲,但是在表達式左邊arr[ i ]中無法判斷應用引用i的舊值還是新值。有的書本認爲這種表達式是行爲不確定的。按照C標準這種表達式是未定義的。所以有的編譯器會報錯。當然你也有可能得到這樣的結果: int i=5; printf("%d\n", i++
相關文章
相關標籤/搜索