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 稱為逗號表示式,又稱為 順序求值運算子 逗號表示...