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; 它等價於以下語句塊 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 等價於... 應該是寫錯了bai。正確的是x y x y這個 duzhi也沒錯dao,但是這是移位操作,得回到的是一個資料答,不是一個bool型 x y 表示x對的二進位制右移y 位,相當於除以 2 y 如 4 2 相當 於 4 2 2 1 按這裡的語境,應該是 x y 這個是du移zhi位操作符 是右移,是左移... 字元常來量佔一個位元組的記憶體空間自。字串常量佔的內bai存位元組數等於字元du串中字zhi節數加1。增加的一個dao位元組中存放字元 0 ascii碼為0 這是字串結束的標誌。例如 字串 c program 在記憶體中所佔的位元組為 c p r o g r a m 0 字元常量 a 和字串常量 a...C語言中x y 是什麼意思,C語言中x y,x y分別表示什麼意思
C語言x》y是什麼意思,C語言中x y,x y分別表示什麼意思
請問c語言中0是什麼意思,C語言中 0 是什麼意思