匿名
目前自學c語言中,
一直卡關qq
https://i.imgur.com/IsAITrO.jpg
查了很多但真的看不懂a++和++a的差別
求解答謝謝🙏🙏
你可能有興趣的文章...
全部留言
簡單來說 如果現在a=3 那麼你寫b=a++;的話 那b會等於3 但是如果你寫b=++a; 那b會等於4 (不管哪一個 a都會變成4) 另外 因為某些我也不知道為什麼的原因 ++a稍微比a++快一點點 如果你還是搞不清楚兩個之間的差別 那就都分開來寫就好了 例如你想寫a先加1再指定給b的 但不知道該用哪一個 那就分開寫成a++; b=a; 這樣絕對不會錯
++a 與 a++ 的運算子優先順序不同 但若只是論純++a a++ 他們是一樣的呦~ 我以前也是聽說++a比較快
emmm看樓上的回答我覺得有點怪怪的,好像都沒有提到真正的原理 a++指的是我們先把這一行執行,再把a += 1 而++a是我先把a += 1 算完,再執行這一行 --- btw我覺得那本書(網站、文章、any way)寫得不好,如果要講明a++以及++a的差別 用這個例子會好很多: int a = 5, b = 5; printf ( "%d %d\n", a++, ++b ); 我附上輸出結果好了 左邊是編譯以及執行結果,右邊是程式碼 (呃,字有點小,請自行放大圖片 https://i.imgur.com/lIMlbev.jpg
剛剛那邊好像沒有講得很清楚,所以我就把 B0 附的圖中的程式碼抄下來吧 然後附上註解,講解一下為什麼會是這樣(? 一樣左邊是編譯以及執行結果,右邊是程式碼 然後字還是很小,對不起QAQ 我習慣小字了 https://i.imgur.com/DtsYlTV.jpg