為什麼b不等於4呢

2022-05-07 09:22:36 字數 1049 閱讀 2090

1樓:鍵盤雀躍

永遠別寫這樣的**,根據編譯器實現不同,結果也不盡相同。

最本質的問題是操作順序[不確定]。

對於a來說,做了兩次++操作,不管字首還是字尾,產生兩次***的後果是a=3,這個結果沒有任何問題。

關鍵是b的結果是多少?直接跑下

想看真像,只有看編譯成的彙編**了~

真的分不清先操作誰,後操作誰。為什麼b=(++a)+(++a)是6.··

2樓:

因為相當於如下:

b=a+a;

a=a+1;

a=a+1;

printf("a=%d\n",a);

printf("b=%d\n",b);

3樓:木從它

# include

int main(void)

4樓:匿名使用者

正確的輸出應該是:

a=3b=2

因為a++的值為a,然後a再加1,而++a的值是先加1,即它的值為a+1。

所以b=(a++) + (a++)這個運算,a當時為1,b=1+1=2。當這個運算結束後a再自增,所以a=3

5樓:匿名使用者

b=(a++)+(a++);

b=1+2;//第一個a參加運算時等於1,參加完+1等於2,所以第二個a參加運算時是2,參加運算後a+1等於3,b等於3.

注意:a++先執行再+1,++a先+1再運算。

6樓:vip__尛叮

因為a++的值為a,然後a在加1,在運算b的時候,a的值是不變的,運算b完事了之後a的值才會發生變化。

如果++a的話才是你說的那個情況

7樓:況半蘭

計算的時候先使用a的值然後才進行++操作

8樓:o一直在路上

a++ 執行完再執行+1的

9樓:匿名使用者

b=(++a)+(++a)

b就等於4了

為什麼說文憑不等於知識不等於能力不等於貢獻

文憑只是一個證明,證明你應該具備了你所獲文憑的知識,其實呢?你說你掌握的知識,有證明嗎?你沒有大學畢業證書,那憑什麼說你就具備了大學的知識呢?你沒有高中畢業證書,那又怎麼說你學到了高中必會的知識呢?好好想想吧!知識就是要有一份證明,不然誰相信你有會這個知識,為什麼會計要憑會計證上崗,會做會計不就可以...

為什麼消失不等於,為什麼消失不等於

我更喜歡將其理解為一個哲學性的問題 這就像消失和死亡有什麼不同一樣 消失是把其所有活在在這個世界上的痕跡都抹消掉 而死亡則是單純的生命結束 就像o,就算是空無的,但人們還是將給予了它名稱 最後總結一下我的看法 o雖然是空無的意思,但人們還是將它當做是一個數字 而消失則是連o都沒有 可能表述不是很清楚...

A和B不等於0,A不等於B,A乘B A B再列出一條等式答案是什麼再說明一下原因

貌似只有a b 2才成立,跟你的條件矛盾 也就是說按照你的條件是無解的 是不是進行移項就行啦,這題好像沒法解 已知abc不等於0且a b c b c a c a b,求 a b b c c a abc的值 疑問 a b c是指 a b c還是就是a b c?我解的是後者,如果不是,麻煩你說一下,我再...