C 中,如果i 3,那麼iii 為什麼等於

時間 2021-05-05 20:54:26

1樓:

又是這種問題,以後寫這種表示式的時候都要分開寫a=++i;

b=++i;

c=++i;

d=a+b+c;

如果i宣告為int型別結果是16 ,如果宣告為double型別結果是15,

這個是編譯器的問題,以後遇到這種問題都要分開寫,免得出差錯

2樓:_鈊_煩_薏亂

visual studio 2008 sp1,該先進了吧?執行時18.

以後別寫這樣的程式,沒有用。

你可以想象看這樣寫有什麼意義?

難道就是為了給自己加3嗎?或者是求它們的和?

3樓:匿名使用者

(++i)+(++i)+(++i) 並不是4+5+6 這是乙個典型的依賴處理器當時狀況的算式 c++ coding standards 有詳細的解釋 最好不要寫這樣的東西 因為處理器會自動判斷先算哪部分 可能是4 5 6 也可能是 4+6+5 或者6+4+5 等等 在這種地位均等的情況下不會出錯 但是如果是

if(i==2) fun(++i,++i); 那就錯大了 可能呼叫fun(3,4) 也可能呼叫fun(4,3) 而這完全取決與處理器的預期判斷 與電腦配置和當時的記憶體使用 暫存器使用狀況有關

4樓:csu_青苔

應該可以這樣理解吧

++i 等於 i=i+1

所以 a=(++i)+(++i)+(++i) 等價於 a=(i=i+1)+(i=i+1)+(i=i+1)//i=3

先栓第乙個括號的 a=i+(i=i+1)+(i=i+1)//i=4再算第二個括號的 a=i+i+(i=i+1)//i=5接著 算 i+i 和 括號內的 a=10+i // i=6然後 我給 你 湊出答案

5樓:匿名使用者

同上樓的。

++i是在i使用前先+1...

(++i)+(++i)+(++i)=4+5+6=15

6樓:鯎

++i是在i使用前先+1...

上題:(++i)+(++i)+(++i)=4+5+6=15

7樓:匿名使用者

樓上的3+4+5=16

你還恩是厲害!!

8樓:匿名使用者

慎用自增和自減運算子,不好。

9樓:匿名使用者

這是乙個運算優先順序的問題。從右到左的結合順序,表示式可寫為3+4+5 也就是16了。

c語言中ifi3的意思,c語言中 i 3 是什麼意思

蹦迪小王子啊 i 3是if語句的判斷條件,在i等於0的時候執行i 此時i 1,s i,s等於1 因為i 11,所以繼續版迴圈體,i不是3的整數倍的時權候就執行總而言之,在i等於0,3,6,9的時候執行i s i也就是s 1 4 7 10,也就是結果說的s 22 吉祥二進位制 if i 3 等價於if...

I3和I5處理器有那些優勢,效能好再那裡?那個引數,可以體現出來

朋友 老實說 你要是一般應用 筆記本上的 i3 和i5 差不多 感覺不出來的 因為都是雙核 i5 能自動加速 官方叫 睿頻 筆記本的話 比如 i5 2430 主頻 2.4 能加東加速至3.0 但某種程度上影響 cpu效能的主要 快取 指令集 筆記本的話 i3 i5 一樣 都是3 m i7是6m的 桌...