若有定義int a 1,b 2,c 3則執行表示式(a b cb)後a,b,c的值

2021-05-22 23:44:17 字數 1836 閱讀 7120

1樓:紫瞳傲雪

1。 b+c=5

將 5 賦值 給 a

2. a =5 為真 || 短路或所以不執行 ++b

b 依然為2

所以 有 a=5 b=2 c=3;

2樓:匿名使用者

從左往右看,a=b+c a=5, ++b, b=3

若有定義:int a,b; 則表示式(a=2,b=5,a*2,b++,a+b)的值是?

3樓:聖雅柔顧妙

b++的意思是

先將b的原值帶入本條語句執行,然後再自加,這裡本條語句為b++;

即什麼也不做,然後自加

如果換成c=a+b++;則c=7;

而不是8

4樓:噴農藥的蘇

(float)(a+b)/2

得到浮點數2.5

(int)x%(int)y,因為把x,y強制裝換為其實就是3墨2得到int數1

結果是3.5

5樓:勤奮的欄欄

先掃描逗號表示式 結果是8

若有定義語句:int a=1,b=2,c=3,d=4;則執行下述表示式:(a*=a

6樓:匿名使用者

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

式子左邊相當於

(a=a*(a時d 為5),由於是後置,所以是把4傳到判斷語句(b<=4),由於b=2,所以此式子為真(即為1),那麼就有:c=c-1,結果為2,綜合以上:a=1,b=2,c=2,d=5

若有int a=1,b=2,c=3,d=4;則執行表示式ac)?b=100:c後b的值是多少?解釋詳細些,謝謝啦!

7樓:單于南露党項

從右向左邊運算,先是(d>c)?b=100:c此時b賦值100

而此時這個表示式也為100

然後是回a表示式結果也為100

因為b此時是100;其實答這道題只有b=100;那裡給b賦值,其他地方都不會改變b的值

8樓:賓云溪同絹

你確定這樣些沒錯?(d>c)?b=100:c

這個表示式的值是多少啊?

?:運算子不是應該跟表示式嗎?b=100是個語句啊

int a=1, b=2,c=3,d=4,m=2,n=2; 則執行表示式:(m=a>b)&&(n=c>d)後,n的值為?

9樓:匿名使用者

n=2,因為m=(a>b);

解釋為bai:如果a大於dub,那麼m等於true(即1);否則zhim等於false(即0);

n=c>d也是這個意思.

再有dao(m=a>b)&&(n=c>d)首判斷a>b是否為真,因為內a=1,b=2.所以a>b為假。m=0,接容著就不進行

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樓:詹爵雲蕙若

m=0n=2

a>b不成立m=0;

又因為(m=a>b)為0,所以不執行(n=c>d),即n的值不變。這是&&的特性。

在C語言中,設有如下定義 int a 1,b 2,c 3,d 4,m 2,n 2則執行表示式 m abn cd 後,n的值為,過程

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的值沒有改變!n的值為2 a 1,b 2 m a b m...

設int a 1,b 2,c 3執行表示式(a bC 1)後c的值為什麼等於

條件表示式的短路效應,邏輯與的a b是false,則整個表示式一定是false,後面的c 1就不會執行 在執行抄表示式 a b c 1 時,系統發bai 現是與運du算,先計算與運算前面的邏輯判斷zhi,發現a b得到dao假,由於是與運算,無論後面的式子等於什麼與假進行與都會得到假,則後面的式子就...

int a 3,b 2,c 1 c 5 abprintfd n ,c 輸出為什麼是3啊?求大神指點

因為c 5永遠是 真 所以執行?後的a 而a 是後 要把a的值3賦給c後a才變為4。c 5這個條件為假,應該執行b 得b 1,但是最後輸出為c,c不變,應該是c 1 c語言提供一種特殊的運算子 逗號運算子。用它將兩個表示式連線起來。如 3 5,6 8 稱為逗號表示式,又稱為 順序求值運算子 逗號表示...