int a 2,b 3,c 4,d da bcjava中輸出是10,請問為什麼啊

2021-05-02 05:54:11 字數 2731 閱讀 1118

1樓:

1、b+++c 預設情況下 執**況是從左到右(b++)+c

2、b++ 是在運算完之後才會+1,並不會把+1後的值帶入表示式中計算。

2樓:

d=3+3+4=10

++a表示先自增1然後參與運算

a++表示運算後再自增1

3樓:

++在後面,先取值再自加。++在前面,先自加,再取自加之後的值。

變數的值 和 計算之後的值要分開來看的。

此處:從後向前計算。

表示式這麼寫:d=(++a)+(b++)+(c++);

=> d = (++a)+(b++)+4 【 此時: c = 5】

=> d = (++a)+3+4 =>(++2)+7 【 此時:b = 4,c=5】

=> d = 3+7 = 10 【 此時:a = 3;b = 4,c=5】

4樓:匿名使用者

一個稀奇古怪的題目 只有國人才會考這種語法++a :先加+

a++:先用a,後加1

結果就是 3+3+4

5樓:匿名使用者

根據運算子優先順序可將等式看做(++a)+(b++)+(c++)=3+3+4=10

6樓:吃魚的鴿子

3+3+4 = 10

++a 是先讓a自加後計算 b++ c++ 都是先計算後自加

計算完成後 abc都分別+1了

7樓:匿名使用者

++a 是先運算後使用 ++a=a+1=3

b++是先運算後使用 b++=b=3

c++同a++

c++中的?是什麼意思.還有:是啥 5

8樓:a羅網天下

c++中的「?」是三目條件運算子之一的表示式一(?:)

"?"運算子的含義是:先求表示式1的值,如果為真,則執行表示式2,並返回表示式2的結果;如果表示式1的值為假,則執行表示式3,並返回表示式3的結果。

「:」用法1表示機構內位域的定義(即該變數佔幾個bit空間),用法2是建構函式後加冒號是初始化表示式:

如:istack( int capacity ) : _stack( capacity ), _top( 0 )

c++中的算術運算子包括基本的算術運算子和自增、自減運算子。由算術運算子、運算元和括號構成的表示式稱為算術表示式。

基本算術運算子有:+(加)、-(減或負號)、*(乘)、/(除)、%(取餘)。其中「-」作為負號時為一元運算子,其餘都為二元運算子。

這些基本算術運算子的意義與數學中相應符號的意義是一致的。它們之間的相對優先順序關係與數學中的也是一致的,即先乘除、後加減,同級運算自左向右進行。使用算術運算子要注意以下幾點:

1、「%」是取餘運算,只能用於整型運算元。表示式a%b的結果為a/b的餘數。 「%」的優先順序與「/」相同。

2、當「/」用於兩整型運算元相除時,其結果取商的整數部分,小數部分被自動捨棄。因此,表示式1/2的結果為0,這一點需要特別注意。

3、c++中的「++」 (自增)、 「--」 (自減)運算子是使用方便且效率很高的兩個運算子,它們都是一元運算子。這兩個運算子都有前置和後置兩種使用形式。

9樓:足壇風行者

c++中?和:單獨使用沒有特殊含義,合起來用時可以表達三目運算子,又稱條件運算子。

條件運算子強大而獨特,它提供了一種表達簡單 if-else 語句的簡寫方法。該運算子由問號(?)和冒號(:)組成,其格式如下:

《表示式1>?《表示式2>:《表示式3> ;

含義是: 先求表示式1的值,如果為真,則執行表示式2,並返回表示式2的結果 ; 如果表示式1的值為假,則執行表示式3 ,並返回表示式3的結果。

擴充套件資料

三目運算子一定要用於賦值語句,三目運算子的應用例項:

例如:x < 0 ? y = 10 : z = 20;

這個語句由 3 個子表示式組成,使用問號 ? 和冒號 : 分隔。這 3 個表示式分別是:x<0,y = 10 和 z = 20。

計算方式是如果條件x < 0是真的,則執行y = 10語句;否則,執行z = 20。

所以當x=-1時,x < 0 ? y = 10 : z = 20的最終結果為y=10。

10樓:匿名使用者

c++中  ? 和 : 只有一個,組合在一起作為三目運算子。例如:a = b ? c : d b,c,d,為表示式,如果b為真,則a=c,b為假,則a=d。

例求整數a,b的最大值表示為a>b ? a : b。

11樓:匿名使用者

c++中,「?」與「:」共同組成三目條件運算子(?:)三目條件運算子(?:)使用例子如下:

x ? y:z;

上面的三目條件運算的規則是:先計算表示式x的值,若x為真,則整個三目運算的結果是表示式y的值;若x為假,則整個三目運算的結果是表示式z的值。

下面的例子為從兩個數中找出較大的程式:

int a=3,b=4;

int max=a>b?a:b;

max的值為4。

設有inta1b2c3d4m2n2執行

這是邏輯運算,n的值為2 m a b 是賦值表示式,若a大於b則m得真,否則m得假回。答 a 1,b 2,a b 為假,故 m 假。賦值表示式 m a b 為假。m 0。在邏輯與 運算中,如果第一個運算元為假,則結果是假,後面的運算元不參與運算,本題中因為第一個運算元 m a b 為假,所以第二個運...

71設有定義inta2,b3,c4則以下選項中

嗯,對於這種問題可以用真假來判斷,當數值不為0時都一律為真,只有是內0才是假 a a容c為假,所以 真 假 為假,後來 假 真 為真,不是0b 真 假 為假,是0 c 真 真 為真,不是0 d 真 真 為真,c a為真,真 真 為真,不是0 選擇b 貌似都不為0 哦,你確定題目沒寫錯嗎 設有定義 i...

c語言運算順序新手int a 3 b 4 a b a b a a b b應該是多少?中間那個取餘按

a b a b a a b b 3 4 3 4 3 3 4 4 3 4 7 3 12 4 3 4 3 12 4 3 1 12 4 12 a 3b 4 3 4 mod 7 3 12 4 3 4 3 8答12 a 3b 4 3 4 mod 7 3 12 4 mod和除乘是同級的。所以這裡先4mod7 4...