int a 3,b 5,c c(ab)aba和b的值分別是

時間 2021-09-03 07:05:17

1樓:在杜鵑谷跳倫巴的埃及狼

首先,"?"是c++中的三元運算子,是條件運算子。此題意思是,賦值a,b分別為3,5。

宣告c變數。如果a>--b為真,則輸出a++;否則輸出b--。然後判斷:

a=3

2樓:聽不清啊

執行比較3>4?

否,b--; 於是 b 變成3

a b 的值分別是 3 3 。

3樓:

c=(a>--b)a++:b--;是不是c=(a>--b)?a++:b--; ?

如果是的話,那運算順序是:

--b,故 b=4

a > --b(4), 故值為假,c=a++a++為4,故a  = 4 則c = 4

如上所述:a、b、c均為4

4樓:匿名使用者

a=4b=3

您的提問(回答)過於簡略,請再豐富一下內容重新提交

5樓:

a的值為4,b的值為3。

**解釋:先是定義整型變數a、b、c,並給a賦予初值3,給b賦予初值5;接著,給c賦值於 (a>--b)的值,a的值為3,經--b運算後的b的值為4,所以(a>--b)為假,其值為0,所以c的值為0;然後,進行a++運算,a自加1得4;b--運算,b自減1得3。所以,a的值為4,b的值為3。

如果說最後一段**是 c=(a>--b)?a++:b--;那麼因為(a>--b)為假,所以先將b的值賦予c,c的值為4,再進行b--運算,得到b的值為3,而a的值不變。

此時a的值為3,b的值為3。

如有錯誤,請多原諒。

6樓:匿名使用者

應該是 c=(a >--b)?a++:b--;

結果是a=3;b=3;

有定義int a=3,b=4,c=5;執行完表示式a++>--b&&b++>c--&&++c後,a,b,c的值分別為( ) 怎麼來的?

7樓:匿名使用者

a++>--b是取a加1前的值3和b減1後的值3比大小,結果是假,所以&&的最終結果肯定是假,後面的執行都不繼續算了。所以a=4,b=3

8樓:匿名使用者

你要清楚&&的意思!它意味著「並且」。如果a++>--b不成立,則你就不用進行下面的運算了!a=3+1;b=4-1+1;c=5-1;結果就在這了!!

9樓:匿名使用者

a = 3,a++ = 3,先使用a,然後a自增

b = 4,--b = 3,b++ = 4

c = 5,c-- = 5,先使用c然後c自減,++c = 6

設有變數定義int a=3,b=5,c=10:下列表示式的值是( )(++a*b--

10樓:匿名使用者

a自增自減優先順序高 ++a 是4 ,乘以 b 是20,再除以2.0是10.0,再乘以10是100.0;

這種題也就考試出,實際開發敢這麼寫肯定被人鄙視

若已定義:int a=3,b=5,c=2;.則表示式c+!a

11樓:文明珠詩君

1、按照運算子優先順序,「==」的優先順序大於「=」,所以先計算b==c的值,應為

回b=2,c=3,所以這個表示式的

答值為假,也就是值為0.然後將b==c的值賦給a,那麼執行a=b==c之後,a=0;

2、第一個方式不正確,第二個左值不能為表示式,第三個正確,第四個左值不能為表示式

12樓:

c+!a

(c=2) + (!a = 0) < (b = 5) // 所有抄

不等於0的數值襲的!的值都bai是0, 0 的!值du是不為

zhi0的任意數

dao或者 true

=> 2 + 0 < 5

=> 2 < 5

=> true

13樓:鷹騁天下

最後的答案為 1 是不是

設int a=5,b=6,表示式(++a==b--)?++a:--b的值是

14樓:匿名使用者

結果為bai7。

條件表示式

du為:表

zhi達式1?表示式2:表示式3。先求解dao表示式內1,若其值為真(非容0)則將表示式2的值作為整個表示式的取值,否則(表示式1的值為0)將表示式3的值作為整個表示式的取值。

先判斷++a==b--是否為真,++a表達的值為6,b--表達的值為6,兩者相等,為真。則將表示式++a的值作為整個表示式的取值,因為在此之前a的值已經自增變成6,再進行++a表示式的值為7。

15樓:匿名使用者

最後值為7,這是一個if語句,就是

int a=5,b=6;

if(++a==b--) ++a;

else --b;

++ar的規則

是先運算,所以括號中左值++a=6,a=6;

==的優先順序低版過--,所以先計算權b--b--的規則是先賦值,所以括號中右值b--=6,b=5;

左值6==右值6,即條件為真,執行++a,因為a值已是6, 所以加1操作後,

結果為 7

16樓:烏石

7,條件表示式條件為真,取值為++a;原來為6,執行++a後為7

int a=3,b=2,c=1; c=5?a++:b--; printf("%d\n",c) 輸出為什麼是3啊? 求大神指點

17樓:

因為c=5永遠是「真」,所以執行?後的a++。而a++是後++,要把a的值3賦給c後a才變為4。

18樓:單屏安

c=5這個條件為假,應該執行b--,得b=1,但是最後輸出為c,c不變,應該是c=1

19樓:飛向夢想飛向未來

c語言提供一種特殊的運算子——逗號運算子。用它將兩個表示式連線起來。如:

3+5,6+8

稱為逗號表示式,又稱為「順序求值運算子」。逗號表示式的一般形式為表示式1,表示式2

逗號表示式的求解過程是:先求解表示式1,再求解表示式2。整個逗號表示式的值是表示式2的值。例如,上面的逗號表示式「3+5,6+8」的值為14。又如,逗號表示式

a=3*5,a*4

對此表示式的求解,讀者可能會有兩種不同的理解:一種認為「3*5,a*4」 是一個逗號表示式,先求出此逗號表示式的值, 如果a的原值為3,則逗號表示式的值為12,將12賦給a, 因此最後a的值為12。另一種認為:

「a=3*5」是一個賦值表示式」,「a*4」是另一個表示式,二者用逗號相連,構成一個逗號表示式。這兩者哪一個對呢?賦值運算子的優先順序別高於逗號運算子, 因此應先求解a=3*5(也就是把「a=3*5」作為一個表示式)。

經計算和賦值後得到a的值為15,然後求解a*4,得60。整個逗號表示式的值為60。

20樓:匿名使用者

加個括號你就明白了

c = (5?a++:b--)

因為5>0 所以 c =a ++ = 3;

為什麼int a3和int a3不能正確二維陣列

嘿嘿 你這樣定義的話 編譯器無法識別第一位的個數 陳學陽 int a 3 2 這個語句語法是錯的,錯在二維陣列的初始化。初始化值要放在花括號裡。int a 3 二維陣列宣告,其中一維大小不定。陣列的初始化不要求全部元素都賦值,所以 int a 3 初始化 a 0 0 等於6 int a 3 初始化 ...

如int a 3,a a a a最後我的值為A3 B0 C9 D 12未詳細解釋

賦值運算子的優先順序低於算術運算子,結合性為從右向左。所以 a a 先計算,得到 9 然後是 a 9 此後 a的值為 6 然後是 a a 也即 a a a 6 6 12 int a 3,a a a a 這個a 3後面用逗號編譯過不去的,換成分號後,拆解後面的式子。a a a a 等效於a a a 此...

一道C語言的題目定義int a 5,b則執行表示式b

1級優先順序 左結合 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子。2級優先順序 右結合 邏輯非運算子 按位取反運算子 字首增量運算子 字首減量運算子 正號運算子 負號運算子 型別 型別轉換運算子 指標運算子 地址運算子 sizeof長度運算子。3級優先順序 左結合 乘法運算子 除法運...