C 請問int a1 coutaaaendl為何是

時間 2022-02-12 10:10:11

1樓:匿名使用者

++a是先加1再進行計算,a++是計算完之後加1;

特別注意:但是無論是a++,還是++a都是用當前a的值去運算~~

第乙個:

++a是在每次運算前都會自加一次,所以,一開始,a=1,做第一次加法前,先執行括號1,a先自加,a=2,然後執行括號2,a再自加,a=3,此時執行第一次加法,用當前的a去運算,3+3=6;做第二次加法,先執行括號3,a自加,a=4;再做加法,6+4=10;

第二個:

a++是做完運算之後才加1,所以執行第一次加法,先執行括號2,a自加,a=2,然後做第一次加法,2+2=4,接著做第二次加法,先執行括號3,a再自加,a=3,然後執行第二次加法,4+3=7;執行完畢後才執行括號1,a自加,a=4;但是a=4這個值是運算完之後才加的,所以結果是7,不是8

你可以試著敲以下**驗證:

#include

using namespace std;

void main()

希望對你有幫助

2樓:牛松

怎麼感覺第乙個答案是9,第二個答案是8?你執行過?

3樓:匿名使用者

這個沒標準的,不同的編譯器會有不同的結果

int a 3,b 2,c 1 c 5 abprintfd n ,c 輸出為什麼是3啊?求大神指點

因為c 5永遠是 真 所以執行?後的a 而a 是後 要把a的值3賦給c後a才變為4。 單屏安 c 5這個條件為假,應該執行b 得b 1,但是最後輸出為c,c不變,應該是c 1 飛向夢想飛向未來 c語言提供一種特殊的運算子 逗號運算子。用它將兩個表示式連線起來。如 3 5,6 8 稱為逗號表示式,又稱...

C語言中設int a3,0a ,請問a值是多少

你說得對,是優先於 所以可以看成是0 4,但0 任何數字結果都是0,所以最後a還是0 windy天命風流 運算子就是先判斷左邊是否非零,如果非零在判斷右邊。題目左邊為零,右邊不做運算和判斷,這種問題叫 短路 嬿暉 在計算的時候,當 運算前半部分判斷為false時,不會執行後半部分,因此 a 不執行,...

若有定義 int a 3,b 2,c 1並有表示式 a b,abc,b c 1,c 1,則表示式值相等的是哪兩個

你是誰會想 表示式一值為1,表達二好象有錯誤,不能那樣表示,應寫成a b b c,這樣寫二式為真,值為1,三式且符號兩邊都非零,都為真,所以三式值為2,四式為賦值語句,最終結果是c的值為2 湯福書屋 第一個 a b 輸出結果為 1 第二個 a b c為真,3 2為真 即為1,但1 1為假 即為0第三...