在c語言中int a 2,b 3,c 6,ma cb 1 ac 0 b a 2 0 2為什麼ma cbac b

2021-04-22 09:58:31 字數 5218 閱讀 6709

1樓:匿名使用者

(a=c

(a&&!c)的值為0。很簡單

b/a*2.0的值為6.

所以總體是6.

個人見解,沒有跑程式驗證

2樓:

你確定你對這兩個左值賦值沒問題?

a&&!c=0;

b/a*2.0=2;

c語言中int a=3,b=2,c=1執行if(a>b>c)a=b;else a=c 後a=1

3樓:匿名使用者

執行的時候bai,應該寫a>b && b>c ,你du這樣寫的結果就是:先執zhi行a>b,結果為真,在c語言裡dao真用1表示,就

版是算式權a>b結果為1,接下來,1>c,結果為假,所以a=c。

比如你寫死迴圈的時候寫while(2>1){}的時候是死迴圈,寫while(1)的時候也是死迴圈,明白了吧。

4樓:匿名使用者

if(a>b>c)a=b;else a=c

a>b>c這個演算法是從左到右的,也就是先算a>b成立,為1,然後再算1>c,此時c=1,所以if條件不成立,執行else語句。也就是a=c=1.即a=1.

5樓:冬日秋巡春逐鹿

int a=2,b=3, x=1;

if(a>2)

if (b>2)

x = 2 ;

else

x = 3;

printf(抄"%d",x);如果是襲這個的bai話,else對的du

是第zhi二dao個if.

6樓:落月

if(a>b&&b>c)

else

a=1;

設有: int a=1,b=2,c=3,d=4,m=2,n=2; 執行(m=a>b)&&(n=c>

7樓:不不見不念

這是邏輯運算,n的值為2

(m=a>b) 是賦值表示式,若a大於b則m得真,否則m得假回。答 a=1,b=2, a>b 為假,故 m=假。賦值表示式(m=a>b)為假。m=0。

在邏輯與&&運算中,如果第一個運算元為假,則結果是假,後面的運算元不參與運算,本題中因為第一個運算元(m=a>b)為假,所以第二個運算元(n=c>d)不參加運算,因此n的值不變。

8樓:匿名使用者

選a!首先要了解一下抄

運算子的運算先bai後順序,優先順序口訣:

括號成du員第一; 括號運算子zhi() 成員運算子. ->

全體dao單目第二; 所有的單目運算子比如++ -- +(正) -(負) 指標運算*&

乘除餘三,加減四; 這個"餘"是指取餘運算即%

移位五,關係六; 移位運算子:< >> ,關係:> >= <= 等

等於(與)不等排第七; 即== !=

位與異或和位或; 這幾個都是位運算: 位與(&)異或(^)位或(|)

"三分天下"**十;

邏輯或跟與; 邏輯運算子:|| 和 &&

十二和十一; 注意順序:優先順序(||) 低於 優先順序(&&)

條件高於賦值, 三目運算子優先順序排到 13 位只比賦值運算子和","高

逗號運算級最低! 逗號運算子優先順序最低

剩下的你自己同時參考一下2樓和3樓的解釋,問題就應該能解決的比較透徹了!

9樓:

1> 答案是:n = 2;

2> 問題具體分析如下:

(m=a>b)&&(n=c>d) 分析: && 有短路特性,即 m=(a>b) 為假則整個表示式為假,不回計算答(n=c>d) 所以n=2;

3> 測試程式:

#include

int main(int argc, char **argv)else

if((m=ad))

else

return 0;}

在c語言中,設有如下定義: int a=1,b=2,c=3,d=4,m=2,n=2; 則執行表示式:(m=a>b)&&(n=c>d)後,n的值為,過程

10樓:無憂網事

n的值抄仍然為2,沒有改變!

過程:先計算a>b,值為0,賦給m的值為0,表示式m=a>b的值也是0。

對於&&邏輯運算,不管後面(n=c>d)的值如何,都不影響(m=a>b)&&(n=c>d)的最終結果,因此,c語言不再對表示式n=c>d進行計算。因而n的值沒有改變!!

11樓:匿名使用者

n的值為2

a = 1, b = 2 ===> m = a > b ===> m = 0

&&支援短路運算

所以m = a > b的值為0 不用考慮後面的值了所以n的值任然為2

c語言中int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); printf

12樓:匿名使用者

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

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。

13樓:匿名使用者

c=(a+=a+2),(a=b,b+3);

->c=(a+=a+2);(a=b,b+3);

->c=(a+=a+2);a=b;b+3;

14樓:焚香木弋

int a=1,b=2,c=3;

c=(a+=a+2),(a=b,b+3);

相當於兩個順序語句:

先執行了c=(a+=a+2)這個語句得出c=a=a+1+2=4;

然後執行a=b,b+3;得出a=b=2;後面專的b+3單純是迷惑人

屬而已,不起作用。

所以輸出的答案是a=2,b=2,c=4;

15樓:沫宸萱

樓主自己敲下**執行結果不就知道了?

16樓:康康

2,2,4

可以自己編譯跑一下啊,比來問以後效率得多

c語言中, 已知int a=1,b=2 ,c=3 以下語句執行後a,b,c的值是??

17樓:思念不溼

應該是看成

if (a>b)

a=b;

b=c;

if只管到c=a ; 因為a=1,b=2,不滿足if,所以執行後面的,a=b=2,b=c=3,c還是3選b

18樓:uspta鄭州站

條件a>b不成立

所以c=a執行,所以

a=2,b=3,c=3

19樓:當上帝愛上天使

a,原文中a不大於b,則不滿足if條件~則不執行下列語句~所以abc的值不變

20樓:匿名使用者

沒學過都會 不是打擊你哦 都告訴你整形常量 a b c的值了 下面的式子 如果 a>b就執行 c=a;a=b;b=c c=a是把a的值給c 下面是一個意思 把b的值給a c的值給b 你自己看選什麼吧 a>b不滿足的時候就不執行語句 結果a=1 b=2 c=3

在c語言中,若有定義:int a=1,b=2,c=3,d=4,x=5,y=6; ,則表示式(x=a

21樓:皚虎

inta=1,b=2,c=3,d=4,x=5,y=6; ,則表示式

(x=a>b)& & (y=c>d)

// a>b 不成立 則為假為0,x=0.

&&符號要求倆個都為真才輸出真,所以表示式為假等於0

在c語言中 int a=1,b=2,c=3; 表示式(a&b)||(a|b) 的值是

22樓:匿名使用者

子表示式a&b值為0,a|b值為3

所以(a&b)||(a|b)整體值為1

c語言 若 int a=4,b=5,c=6,d=7,m=1,n=1,e; 則執行語句 e=(m=a>b)&&(n=c>d) ----問m、n的值分別為?

23樓:墨汁諾

(m=a>b)&&(n=c>d)當執行完m=a>b之後,返回的值是0,也就是false,就不去執行&&後面的表示式,只有m的值發生了改變n的值不變,所以是m=0.n=1。

**:#include "stdio.h"

void main()

24樓:刀無極啊

e=(m=a>b)&&(n=c>d),&&結合性從左往右,先計算(m=a>b),而》大於號的運算優先順序比賦值號=的優先順序高,先計算a>b的結果,a=4,b=5,所以a>b為假,結果為0,m=0,(m=a>b)的結果為0,襾&&邏輯與一旦發現表示式為假,整個表示式的結果就為假,後面的表示式不再計算,也就是說:表示式1&&表示式2,如果表示式1為假,整個邏輯表示式為假,不計算表示式2的值,所以m=e=0,而n的值沒有改變,為1

25樓:

&&執行一個判斷再執行下一個判斷,有一個是false就會停止。

m=a>b,m=0,所以就停止了,不會執行n=c>d

在C語言中b5表示什麼意思,c語言中b3b5之類的語句是什麼意思。

是b b 5 的意思 就是b b 5的意思 同樣a 3 a a 3 c語言中 b 3 b 5 之類的語句是什麼意思。是b b 3 b b 5的簡略語句 b 3就是b b 3。b 5就是b b 5 c語言中b 5 0 什麼意思?很明顯,這是在對複陣列 制b 5 進行初始化,具體操作的細節bai需要根d...

設有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 為假,所以第二個運...

c語言中ba3,a3,a2則b的值

1.逗號表 達式的返回值是最後一個表示式的結果,也就是 a 2的結果2.逗號表示式的運算優內先級最 容低,所以先執行其他的運算 運算順序 1.a 3 2.a 3 3.a 2 也就是 3 2 所以b 5 b 5 最後貌似是以 b a 2 算的 考察c語言中運算copy符的優先順序bai。第一步先呼叫f...