請問C語言中xy?xy是什麼意思

2021-05-12 23:42:17 字數 6191 閱讀 9849

1樓:匿名使用者

?:是3目運算子,語法是:

表示式1 ? 表示式

2 : 表示式3;

如果表示式1的測試結果為真(即為非0),則返回表示式2的值,否則返回表示式3的值。

所以,(x-y) ? x:y;的意思就是如果x-y不等於0(即x不等於y),就返回x,否則返回y。

2樓:匿名使用者

這個是三元運算

true=非零 false =0

當x-y的值不等於0時,結果為x;

當x-y的值等於0時,結果為y;

3樓:束驥兆山雁

「!」是「非」操作符,對於非零的數取非為0,對於零取非為1。例如!0*

!0=1*

1=1!2

*!(-1)=0

*0=0

!0*!7=

1*0=

0所以,只有當x和y都為0時,結果為1;取其他任何值時,結果都是0。

4樓:盈彗張繡

這句話的意思是:

如果x>y為真,那麼把x的值賦給z,否則把y的值賦給z。

?在這裡起判斷作用。

:和?一起是c語言裡一起用的,是基本語法,書上有的。。

你好好找找書上,以後的c++和c#裡也有這種寫法

c語言中a=(--x==y++)?--x:++y;什麼意思

5樓:漠影歌

這是一個三目運算子,如果 --x 與 y++相等的話,把--x的值賦給a,否則,將++y的值賦給a;

在這裡,--x是先對x進行自減1再執行語句,y是再執行完語句再執行y自加1,也就是說現在解析出來的表示式為 x - 1 == y ,後面同理!

6樓:鱷魚與德德

中文版 就是 判斷 --x 是否等於y (y++是算完後加 忽律) 假如等於 就 a=--x, 假如不等於 a=++y

7樓:麼麼噠

x=x-1;

if(x==y)

else

大概和這個差不多

8樓:匿名使用者

--x就是x減一;++y就是y加1,這個主要考察c語言語句優先順序

9樓:匿名使用者

如果 x=y+1 執行 x-1 否則 y+1

10樓:歧凌蝶肇戈

x=a+b表示式使得x=6,其返回值為x(x,b+c)是逗號表示式,逗號表示式的值為最後一個子表示式的值所以

y=b+c

y=10

11樓:匿名使用者

這個是c語言中唯一的三目運算子。

string1 ?a : b

意思是說:當string語句判斷是真的時候,該語句使用結果a,否則是用結果b。

12樓:匿名使用者

這個是一個條件語句的簡寫

就相對於:

if aa

belse

c如果aa為真,則執行b,否則執行c

13樓:匿名使用者

(!x++||y--)

這個邏輯大概就是

x等於0或者y不等於0最後表示式結果為1

++和--是後做的

還有如果x為0,y就不--了

x>y?x:y;在c語言中代表什麼意思

14樓:匿名使用者

一樓說的還有點問題。a?b:

c 這個運算是判斷a的真假,若是真就執行b如是假就執行c,所以x>y?x:y;這句話的意思就是判斷x和y值得大小,要是x>y結果就是x,否則就是y,也就是說這句的是輸出的x和y中較大的那個數。

可以使用一下程式來檢測:

#include

main()

15樓:匿名使用者

(!x++||y--)

這個邏輯大概就是

x等於0或者y不等於0最後表示式結果為1

++和--是後做的

還有如果x為0,y就不--了

16樓:儲晨權紅雲

很久以前學的。還記得一點點。應該是如果:x>y,取x。反之則取y。

17樓:fei仰角30度

? : ; 是c語言中唯一一個三目運算子。如果x大於y為真,結果輸送x,否則為假結果輸送y;

18樓:匿名使用者

這是一個判斷句。意思是,若x>y則結果是x,反之,結果是y.

19樓:supper大毛

若x>y,則表示式的值為 x;

否則為 y

20樓:匿名使用者

如果x大於y,就是真,如果x小於y就是假

c語言中z=x>y?x:y是什麼意思?

21樓:南瓜蘋果

?:稱為條件運算子。?:就是表示?前的表示式的值是否為真,是的話取冒號前的值,否則取冒號後的值。

相當於:

if (x>y)

else

擴充套件資料

c語言中條件表示式的通用形式如下:

exp0=exp1?exp2:exp3

如果exp1為真(非0),那麼把exp2的值賦給exp0;如果exp1為假(0),那麼把exp3的值賦給exp0。

2.verilog語法中也有類似c語言中的條件表示式

如下:inout sda;

assign sda=(flag==1)?data_buf:1'bz;

當flag==1時,sda的值等於傳送的資料的data_buf(sda相當於output型別),

當flag==0時,sda的值變成高阻態(sda相當於input型別)。

22樓:尤永修喻辰

c中x+(y>!z)這種表示式寫的其實很不好解釋:括號中優先順序

!高於》

先求!z

也就是表示式

的邏輯取反

z非01!z

=0;z=0則!z=1

然後判斷y的值

是否大於!z

最後用x+上上一步判斷的值

這樣寫的不好處在於

混用邏輯表示式和整型變數

(假定xyz是int之類)

寫法不嚴格,很容易編譯器警告(雖然不會報錯)。屬於習慣不好的寫法,儘量避免

23樓:玩轉困難

這句話的意思是:

如果x>y為真,那麼把x的值賦給z,否則把y的值賦給z。

?在這裡起判斷作用。

:和?一起是c語言裡一起用的,是基本語法,書上有的。。

你好好找找書上,以後的c++和c#裡也有這種寫法

24樓:依夏青蘭晨

根據優先順序計算,先算括號裡面的y>!z,如果z!=0的話,!z就為0,z為0的話!z就為1,

然後y>(!z),判斷y是否大於1或者0(之前已經提到了),大於就返回1,不大於1就返回0,最後再和x相加就行了

舉個例子:x==2,y==2,z==3

得出來的就是3。以上

25樓:愈升榮其寒

先求!z的值,如果z是一個非零值,則!z為0,如果z為0,則!

z為1,然後比較y與!z的關係,若z為非零值,則即為判斷y>0是否成立,成立則y>!z的值為1,否則為0,若z為0.

則即為判斷y>1是否成立,成立則y>!z的值為1,否則為0,。最後用x的值加上y>!

z的值。

26樓:郯媛女秦丁

先取z的否定

判斷一是否大於z的否定

再加上x的值

!zz的否定

當z為非0值時

!z=0

z為0時

!z=1

所以最後的值

就是x+0

或者x+1

27樓:張簡元芹是群

z取反如果y>z的取反則值為1

否則則為0

x再加上0或者1也就是上面的結果

28樓:匿名使用者

?:是個三元運算子

a?b:c 的意思是,如果a等於0結果就是c,否則結果是b

x>y?x:y的意思是,如果x>y 這個式子結果是x, 否則式子結果是y

29樓:匿名使用者

相當於:

if x>y

z=x;

else

z=y;

?就是表示?前的表示式的值是否為真,是的話取冒號前的值,否則取冒號後的值。

30樓:匿名使用者

?:是唯一一個三元運算子。意思是,先判斷?號前的表示式x>y,如果為真,則x>y?x:y這一整個表示式的值為x,否則為y。

z=x>y?x:y的意思是,如果x>y,則z=x;否則z=y。即將x和y中較大的一個值賦給z。

31樓:匿名使用者

假如z=x是真的話! 就是z和x相不相等!等就是真

(x:y)真就輸出x的值假的話輸出y。

(x)<(y)?(x):(y)在c語言中的意思?

32樓:莫道無情

(x)<(y)?(x):(y)在c語言中的意思是指如果表示式(x)<(y)成立即x小於y,則執行表示式(x),否則執行表示式(y)。

(x)<(y)?(x):(y)叫做問號表示式。

舉例及結果:

int a=5,b=3;

printf("%d",a>b?a:b);

如果a大於b成立則執行:前面的即輸出a。否則執行:後面的即輸出b。本例中輸出結果為5。

擴充套件資料:問號表示式用法:求最大值和數值排序

1、求x、y、z的最大值

#include "stdio.h"

main()

2、鍵盤輸入三個整數,按由小到大的順序輸出。

#include "stdio.h"

main()

33樓:匿名使用者

條件 ? 語句1 : 語句2         運算子(x)<(y)?(x):(y)

如果 ? 前面的條件為 真, 則執行   語句1, 否則 執行   語句2

#define min(x,y) (x)<(y)?(x):(y)main()

這個題的答案怎麼是15呢?

哈哈, 這個我知道

把巨集後是這樣了

k = 10 * (i) < (j) ? (i) : (j);

此時, 是用 10 * i  = 100 和j = 15 比較, 當然是15了

34樓:俏姐兒

這個應該是取(x),(y)中較小的那個值吧。。。

比如說c=a>b?1:2

意思就是:

a>b如果是真的,c賦值為1

a>b如果是假的,c賦值為2

等價於if (a>b)

c=1;

else

c=2;end

35樓:**ile李淵然

第一,< 後面的是三目運算子,其優先順序高於一切賦值運算子

,比如< 。第二,三目運算子的定義是,若?成立,則分號前面的存在,不成立則分號後面的成立,這題的意思是,如果(y)是成立的,那麼(x)<(x),反之你就知道了吧,

36樓:匿名使用者

上面說的等價都是錯的,實際上它是個表示式,無論如何,cpu都會計算它的值

其實按asci規範來說,下面這個表示式

exp0 ? exp1 : exp2

如果exp0為真,那麼整個表示式就相當於exp1,否則就相當於exp2

即使是一個賦值語句也會有其結果,結果為最左邊的值或變數這個語句一般用於條件賦值

37樓:匿名使用者

一種語句,叫?:語句。相當於 條件?條件為真執行:條件為假執行。

換成if語句,if(x

38樓:提防

z=x

等效於:

if(x

z=x;

else

z=y;

C語言中x y 是什麼意思,C語言中x y,x y分別表示什麼意思

它等價於以下語句塊 x y y y 1 即先將y的當前值賦予x,然後將y值增1 x等於y自增前的結果,分開寫就是。x y y 把y的值賦值給x之後,y值加一 先是x y,然後y自增加1.c語言中x y,x y分別表示什麼意思 x y 等價於 x x y x y 等價於 x x y 同理x y 等價於...

C語言x》y是什麼意思,C語言中x y,x y分別表示什麼意思

應該是寫錯了bai。正確的是x y x y這個 duzhi也沒錯dao,但是這是移位操作,得回到的是一個資料答,不是一個bool型 x y 表示x對的二進位制右移y 位,相當於除以 2 y 如 4 2 相當 於 4 2 2 1 按這裡的語境,應該是 x y 這個是du移zhi位操作符 是右移,是左移...

請問c語言中0是什麼意思,C語言中 0 是什麼意思

字元常來量佔一個位元組的記憶體空間自。字串常量佔的內bai存位元組數等於字元du串中字zhi節數加1。增加的一個dao位元組中存放字元 0 ascii碼為0 這是字串結束的標誌。例如 字串 c program 在記憶體中所佔的位元組為 c p r o g r a m 0 字元常量 a 和字串常量 a...