在C語言中abc這樣的表示式正確嗎

時間 2021-09-17 08:45:08

1樓:道清逸森君

c肯定錯的因為如果&&前面a是0則因為短路操作後面將不執行b也就不可能是1

d道理一樣如果||前面b是1則因為邏輯操作的短路原因a不會被執行

a假設++操作的執行時機(取決於編譯器定義的臨界點,這方面c標準沒有規定,看各大廠家實現)是完成逗號表示式以後,

則a和b都是0,

否則如果是賦值完成以後,則第一步a是0,x變成1,第2步b是0,a變成1,

跟題目要求不一致.

最後如果++操作是在賦值完成前,則a是1,b是2,

三種情況都不符合條件,所以不管什麼編譯器,a都是錯的.

最後剩下b

由於c語言標準未規定臨界點位置,因此如果++操作在賦值之後逗號之前則b是正確的.

也就是4個答案裡acd在任何情況都是錯的,

而b在某些編譯器可能是對的某些編譯器可能是錯的.

2樓:檀偉彥祿晏

語法上沒有問題,但結果並不是進行三個值得大小比較。按照運算子優先順序,會先把a>b進行計算,得到結果是一個bool值即0或者1,程式會再把這個結果值(0或者1)與c進行比較,即0>c或者1>c。

c語言中 a=b>c這個表示式是什麼意思

3樓:匿名使用者

b > c 是邏輯運算, 返回一個布林型的變數值(0或1, 即邏輯真或邏輯假), 如果b > c, a就是1, 否則a是0

4樓:匿名使用者

我忘記了bai,你執行一下du程式,驗證一下就zhi好了。

如:int a=0;

int b=2,c=1;

a=b>c;

這個應該會報錯。dao

bool a;

int b=2,c=1;

a=b>c;

判斷b>c 是否成回立,成立的

話為真,就把答true值賦給a。不成立的話就把false值賦給a

5樓:浩春花秋月

判斷b是不是大於c。若b>c,把true(1)賦值給a;若b<=c,把false(0)賦值給a。

c語言問題:條件運算子選擇題

6樓:蓉雪球

?:這個是三目運算子。

這個是條件表示式,表示如果a為真,則表示式值為b,如果a為假,則表示式值為c

條件表示式具體說明如下

條件語句:

if(a>b) max=a;

else max=b;

可用條件表示式寫為

max=(a>b)?a:b;

執行該語句的語義是:如a>b為真,則把a賦予max,否則把b 賦予max。

使用條件表示式時,還應注意以下幾點:

1) 條件運算子的運算優先順序低於關係運算子和算術運算子,但高於賦值符。

因此max=(a>b)?a:b

可以去掉括號而寫為

max=a>b?a:b

2) 條件運算子?和:是一對運算子,不能分開單獨使用。

3) 條件運算子的結合方向是自右至左。

例如:a>b?a:c>d?c:d

應理解為

a>b?a:(c>d?c:d)

這也就是條件表示式巢狀的情形,即其中的表示式3又是一個條件表示式。

k

-4<3正確就是k=4

這個沒有答案

k=-4

7樓:偉少love靜靜

條件運算子是惟一有3個運算元的運算子,所以有時又稱為三元運算子。對於條件表示式b?x:y,先計算條件b,然後進行判斷。如果b的值為true,計算

x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。一個條件表示式從不會既計算x,又計算y。條件運算子是向右結合的,也就是說,從右向左

分組計算。例如,a?b:c?d:e將按a?b:(c?d:e)執行。

你這個沒有答案啊,應該是k=4吧,結果為a

8樓:匿名使用者

你可以換成如下方式理解:

if (k

結果為k

else if(c

結果為c

else

結果為a。

這樣就很明白了吧。

數學表示式a≤x

9樓:匿名使用者

不相同數學中的aa&&x

c語言中的a

10樓:匿名使用者

若表示式是(3+b)*sin(x+5)-a/x*0.5,則其字首表示法為-*+3bsin+x5*/ax0.5,字尾表示法為3b+x5+sin*ax/0.

5*-.---僅供參考---

11樓:

a<=x && x < b

c語言中表示式的值怎麼算,C語言中表示式的值怎麼算

墨汁諾 此式即等同於 4!3 2 4 1 5 1代表真,0代表非,則原式即 1 1 0 所以值為0。例如 12 5 2 只為這個是整數運算,結果只取整數部分。62 1 6 7 7 6 1 13 49 623.2 6 7 1 44.8 可以。逗號運算子,從左至右計算,取最後一個表示式的值作為整個語句的...

C語言中條件表示式和邏輯表示式的意義是什麼,他們的取值如何

超級大大餅乾 邏輯表示式 用於判斷條件是否成立,表示式的值為 零 假 或 非零 真 使用 運算子的表示式均稱為邏輯表示式。條件表示式 形如 取值 若exp1的值非零 則取exp2的值 否則取exp3的值 說明 exp1 exp2 exp3為必要的表示式 c語言繼續發展,在1982年,很多有識之士和美...

C語言中表示式1 0 3 3的值是

風彩榮由畫 不對原因 因為1和2都是int型別,計算後的結果也返回int型別,因此結果為0 而1.0 2.0中,1.0和2.0都是浮點型別的,這樣,運算結果也為浮點型別的,因此結果為0.5。如果你將1 2修改為1.0 2的話,因為1.0為浮點型別,運算時,2將轉化為浮點型別計算,最終結果也是浮點型別...