c語言中int a 3,b 2,c 1執行if a》b》c

2021-04-12 07:22:04 字數 5438 閱讀 6270

1樓:匿名使用者

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

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

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

2樓:匿名使用者

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.

3樓:冬日秋巡春逐鹿

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.

4樓:落月

if(a>b&&b>c)

else

a=1;

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

5樓:思念不溼

應該是看成

if (a>b)

a=b;

b=c;

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

6樓:uspta鄭州站

條件a>b不成立

所以c=a執行,所以

a=2,b=3,c=3

7樓:當上帝愛上天使

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

8樓:匿名使用者

沒學過都會 不是打擊你哦 都告訴你整形常量 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; c=(a+=a+2),(a=b,b+3); printf

9樓:匿名使用者

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。

10樓:匿名使用者

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

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

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

11樓:焚香木弋

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;

12樓:沫宸萱

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

13樓:康康

2,2,4

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

c語言, int a=1,b=2,c=3,d=4; if((a=2)&&(b=1)) c=2;

14樓:匿名使用者

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

if((a=2)&&(b=1)) c=2;

a=2表示賦值2給a,同時檢查結果2是不是真, 當然是,所以又檢查b=1,

b=1 同上,結果也是真,所以執行c=2;

if((c==3)||(d==-1)) a=5;

c=2!=3 ,d=4!=-1,所以不執行a=5;

printf("%d,%d,%d,%d\n",a,b,c,d);

正確結果為:2 1 2 4

如果你的答案是5 1 2 -1,則說明你if((c==3)||(d==-1)) a=5;這句寫錯了,

應該是if((c==3)||(d=-1)) a=5; 是d=-1不是d==-1

c=2!=3為假,因為是||或關係,所以會再判斷d=-1,-1非0為真,會執行a=5

這樣結果為

a=5 b=1 c=2 d=-1

15樓:匿名使用者

我執行的結果是2,1,2,4

第一個if中a=2(b=1)是賦值,和a==2(b==1)是不一樣的

16樓:匿名使用者

if((a=2)&&(b=1)) 相當於if(2&&1) ,結果很明顯

17樓:雪月靈妖

1.結果是: 2,1,2,4

不知道你為什麼是5,1,2,-1

2.if((a=2)&&(b=1))

a=2 => 2 真

b=1 => 1 真

c語言中 int a=3,b=2,c=1; c-=++b;b*=a+c abc分別為多少

18樓:續樹花朱橋

①cos[(a+c)/2]=√3/3

cos(π/2-b/2)=√3/3【a+c=π-b-sin(b/2)=√3/3【餘弦轉正弦。

cosb=1-2sin²(b/2)=1-2*(1/3)=1/3【倍角公式。

②版向量

權ba·向量bc=a*c*cosb=2

a*c=6

c=6/a;

cosb=(a²+c²-b²)/2ac=1/3a²+c²=12

a²+36/a²=12

(a²)²-12a²+36=0

(a²-6²)²=0

a²=6

a=√6

c=√6

大學c語言問題 執行「int a,b,c;a=b=c=1;--b&&++c||++a;"後,變數a

19樓:我才是淡淡

|,首先你要把整個結構弄清楚,&&的優先順序高於||,所以上面的式子等價於(--b&&++c)||(++a),

先看(--b&&++c),--b導致b的值為0,所以(--b&&++c)必然為假,所以c就不會加一了,c的值還是1。然後(--b&&++c)為假並不能直接斷定(--b&&++c)||(++a)的真假,因為||需要兩邊為假才是假,所以需要判斷右邊的(++a),這裡a自加一次變為2,(++a)為真,整個表示式(--b&&++c)||(++a)的值為真。最後a,b,c的值分別是2,0,1

20樓:

你的**是順序結構;

所以執行的時候是先對a進行賦值,也就是a=1;

至於後面對b和c的運算,並不能改變a的值。

第一步 int a,b,c;

第二步 a=b=c=1;

第三步 --b&&++c||++a;//這個地方只有++a能改變啊的值 b和c對a的值不影響

第四步輸出a的值;

21樓:益達是誰

這判斷式a,b,c應該是2-0-2啊,怎麼是201,還有我想問這式子對嗎

22樓:匿名使用者

答案應該是2 1 1

c語言中,設int a,b,c;執行表示式a=b=1,a++,b+1,c=a+b--後,a,b和c的值分別是 ?

23樓:葉子離去是紀念

a=b=1 //此時a值為1,b值為1;

a++ //a自增為2b+1 //不對b的值產生任何影響c=a+b-- //首先,b--優先運算,專運算結果是1,然後b自減

屬為0,此時a值為2,再算c,所以c值 為 a+(b--)值為2+1=3

24樓:匿名使用者

a=b=1,//a=1 b=1 c=0a++, //a=2 b=1 c=0b+1, //a=2 b=1 c=0c=a+b-- //a=2 b=0 c=3//----------------------區別(i++)和(++i)-------給你個例回子

int i=1;

int y=i++;// y=1 i=2 //i--同理答int i=1;int y=++i;// y=2 i=2 //--i同理

25樓:匿名使用者

a=1 -> a++ (a=2)

b=1 -> b+1 (b=1) -> b-- (b=0)

c=a+b=2+1=3

c語言賦值表示式問題:若定義有語句:int a=3, b=2, c=1; 以下選項

26樓:滄海雄風

a錯了,不能將3賦值給表示式,b=4已經是個表示式了,既然是表示式就只有真假(即0和1),

而 (a=3*5)=4*3 中的a=3*5 是賦值

27樓:匿名使用者

我在vc++6.0中貼上你的**,編譯執行都通過#include

int main()

結果2 4 4

28樓:匿名使用者

賦值語句的物件只能是變數,而不是表示式 b=4已經是個表示式。若換成a=b=3,就對了。

對於b,最後的值:a=2,b=2,c=1

對於c,整個語句是個賦值語句,裡面又巢狀了個b=4的賦值語句,所以,最後的結果是a=5,b=4,c=1

對於d,解法同c,a=5,b=4,c=4.

所以a 是錯誤滴。

若有定義int a 3,b 2,c 1,則執行程式段if

a的值為1 條件a b c的值為假,所以執行a c,結果a 1 a b c相當於 a b c 先計算a b,為真,值為1,計算1 c,為假,整個表示式的值就是假 若有定義 int a 3,b 2,c 1 則執行程式段if a b c a b else a c 之後,a 問題不全啊?a的值?a b c...

why選A?語句int a 3,b 2,c 1錯誤的賦值表示式是A a b 4 3 B a b c 1 C a b 4 c D a 1 b c 4)

a b 4 3 這是賦值運算,bai從右至du左結合,但是zhi 這裡有括號b 4會被先執行,執dao行完後結內果為false 零 這容裡沒有問題,後面a的賦值就有問題了,到底是把0賦給a,還是將3賦給a呢?問題在這,你懂了嗎?a b 4 3 先運算 b 4 結果為false 即 0 a 0 3 不...

c語言中,定義inta30,2,4,

a 1 這種寫法是錯的,a是陣列第一個元素的地址,a 1,a 1 2,這明顯是錯的。c語言中 a 1 什麼意思 int a 3 4 1,3,5,7 2,4,6,8 a 1 的值 a 1 3。a 1 這種寫法是錯的,a是陣列第一個元素的地址,a 1,a 1 2,這明顯是錯的。已知 int a 4 3 ...