1樓:匿名使用者
首先:a > b?c:d;
這是一種運算,如果a>b成立的話,那麼返回c,不成立的話,返回d。
所以這裡:
1. 相當於d = a >b?(a>c?
a:c):b2.
a > b滿足條件,所以d = (a > c? a:c)3.
因為 a >c不滿足條件,所以返回c的值,也就是 d = c4.最後輸出的也是d的值,也就是6.
c語言裡面?問號什麼意思?:什麼意思?
2樓:楓璽
c語言裡面?、:是三木運算子,其中?用來判斷條件的真假,:用來根據判斷結果決定取值。
如(a是乙個"條件表示式",如果a條件表示式的一般形式為:表示式1?表示式2:表示式3
擴充套件資料
關於三目運算子的說明:
1、通常情況下,表示式1是關係表示式或邏輯表示式,用於描述條件表示式中的條件,表示式2和表示式3可以是常量,變數或表示式.例如:
(x==y)?'y':'n'、(d=b*b-4*a*c)>=0?
sqrt(d):sqrt(-d)、ch=(ch>='a'&&ch<='z')?(ch+32):
ch均為合法的條件表示式。
2、條件表示式的執行順序為:先求解表示式1,若值為非0,表示條件為真,則求解表示式2,此時表示式2的值就作為整個條件表示式的值;
若表示式1的值為0,表示條件為假,則求解表示式3,表示式3的值就是整個條件表示式的值。例如:(a>=0)?a:-a執行結果是a的絕對值。
3樓:百度使用者
這是c裡面唯一乙個三目運算子.
a>b?a:b
如果a>b,返回a
如果a!>b,返回b
4樓:匿名使用者
條件運算子 (?:) 根據布林型表示式的值返回兩個值中的乙個。條件運算子的格式如下
condition ? first_expression : second_expression;
備註如果條件為 true,則計算第一表示式並以它的計算結果為準;如果為 false,則計算第二表示式並以它的計算結果為準。只計算兩個表示式中的乙個。
使用條件運算子,可以更簡潔、雅觀地表達那些否則可能要求 if-else 結構的計算。例如,為在 sin 函式的計算中避免被零除,可編寫為
if(x != 0.0) s = math.sin(x)/x; else s = 1.0;
或使用條件運算子,
s = x != 0.0 ? math.sin(x)/x : 1.0;
條件運算子為右聯運算子,因此該形式的表示式
a ? b : c ? d : e
按如下規則計算:
a ? b : (c ? d : e)
而不是按照下面這樣計算:
(a ? b : c) ? d : e
不能過載條件運算子。
5樓:匿名使用者
exp1?exp2:exp3
首先判斷exp1是否成立,如成立返回exp2,否則返回exp3
6樓:匿名使用者
rate=(sal<=1000) ? 0 : 0.05
這是乙個語句的表示如果sal<=1000成立則rate=0,否則rate=0.05
7樓:匿名使用者
你說的是 ? : 三目條件運算子吧?
8樓:匿名使用者
例如flag=((2<3)?5:6);意思是如果?前的表示式為真則flag為5,否則為6,此時flag=5,而flag=((2>3)?5:6);時flag為6。
9樓:匿名使用者
sfdfhjgjdhgdddvbegwgsgxbfjafxsvdgdhsgdhncuretgff
c語言中,問號表示什麼意思?
10樓:鈔時芳曹汝
c語言運算子中問號是條件運算子(與冒號組合)。該運算子是c語言中唯一乙個三目運算子。
可以通過如下的例項來說明條件運算子的用法:
int a=1, b=3;
int max;
max = a>b ? a : b; // 如果a>b,則max的值為a,否則max的值為b,也即取a與b中的較大者
11樓:沉思的小妖
一般是字元
你這樣問估計是三目運算子 ? :
a?b:c 用法是a為真執行b,否則執行c
12樓:春雨綿綿的老巢
問號不是單獨出現的,而是以這樣的" ? : "組合出現,這叫三目運算,比如max = a>b?a:b的意思是:如果a 大於b,則把a賦給max,否則把b賦給max
13樓:唔現場
例如int a[10]=;
int *p;
p=a;//是把陣列中的第乙個元素的位址賦給指標pp=&a[4];//是把陣列中的第五個元素的位址賦給指標p,運算子的作用是在陣列首位址的基礎之上偏移4個位址長度,得到第五個位址,然後賦給p
14樓:匿名使用者
c 中 ?有兩個用處
1、三目運算子中 (條件表示式)? 表示式 2 :表示式3.
2、在普通字元的使用
15樓:匿名使用者
按我的理解,c語言中單獨的[ ]什麼也不是
。不是中括號,也不是其他的。。。組合使用時可以定義陣列,如int a[10];表示定義乙個10個元素的陣列,a[3]=5;表示第三個陣列元素的值是5,int a[2][2];表示定義乙個二維陣列。
c語言中,無論是小括號、中括號、大括號,都用()的層數來表示。如(((2+3)*2+5)*3),從裡到外依次為小括號到大括號。。。如果還有更多層數,再加括號就行了。
16樓:匿名使用者
乘,指標 表示乙個字串,這個字串有兩個字元,乙個有效字元 '*' "*"在c語言中代表指向的內容,它與所指內容合在一起構成指標
在c語言中的問號是什麼意思
17樓:匿名使用者
三目運算子
對於條件表示式b?x:y,先計算條件b,然後進行判斷。
如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。乙個條件表示式從不會既計算x,又計算y。
18樓:匿名使用者
相當於如下語句:
if ( sal <= 100 )
else
19樓:
rate=(sal<=1000) ? 0 : 0.05
這是乙個語句的表示如果sal<=1000成立則rate=0,否則rate=0.05
20樓:匿名使用者
這個是三目運算子
你看下面
a?b:c,其實就是if{}else{}.
如果你還看不懂的話,就把a?b:c看成如下:
if(a)else
21樓:
x=y?a:b
當條件y為真則x=a,否則x=b
22樓:郝暢施云露
你的問號
是不是放錯地方了?那個語句應該是判斷是否大於等於吧?
是返回1,不是返回0;
c語言運算子中問號是什麼意思
23樓:學雅思
問號是條件運算子的意思,跟冒號組合使用。條件運算子優先順序高於賦值、逗號運算子,低於其他運算子。
表示式為:表示式1?表示式2:
表示式3。先求解表示式1,若其值為真(非0)則將表示式2的值作為整個表示式的取值,否則(表示式1的值為0)將表示式3的值作為整個表示式的取值。
擴充套件資料條件運算子具有右結合性
當乙個表示式中出現多個條件運算子時,應該將位於最右邊的問號與離它最近的冒號配對,並按這一原則正確區分各條件運算子的運算物件。如果在問號和冒號之間還有乙個問號或者冒號,應該滿足就近配對,使結構不發生紊亂。例如:
24樓:天雲一號
c語言運算子中問號是條件運算子(與冒號組合)。該運算子是c語言中唯一乙個三目運算子。
可以通過如下的例項來說明條件運算子的用法:
int a=1, b=3;
int max;
max = a>b ? a : b; // 如果a>b,則max的值為a,否則max的值為b,也即取a與b中的較大者
25樓:匿名使用者
z=x=y結果z就是y的值
跟下面的if語句等價
if(x>y)z=x;
else z=y;
26樓:匿名使用者
呃,俺學藝不精,不知道你說的是哪個,是不是(?:)呢?
?:是三目運算子
如:a?b:c;
等價於:
if(a) b;
else c;
請懂c語言的幫忙解釋一下注釋後面加問號的語句啊。。。謝謝啊!!!
27樓:
第乙個問號是指 定義了乙個szstr 常量 64,相當於 int szstr=64一樣;
第二個問號 同理
第三個問號是指 定義了乙個bfull 的常量 他的內容是 十六進製制的 0xff
第四個問號是指 struct contact 結構體類的指標 con *s
最後乙個問號是指判斷這兩個 常量是否為真,是「& 與 邏輯 」,bunit是1,mask未見到你的定義,應該是其他函式裡面用到的呼叫。
28樓:人渣
#define a ***
其實就是把***賦值給a,相當於a = ***;
這段可以改寫成為
int szstr = 64;
struct contact
;這樣應該就明白了吧
突然看到你那邊後面寫資料夾的地方不是有注釋麼,其實是乙個意思,他說檔案改一次就可以,這裡陣列的大小也是一樣的
29樓:
#define szstr 64 ——行話叫「巨集定義szstr為64」。其實呢,就是告訴編譯器,在編譯之前將你的**中的所有szstr用64替換。這下你明白了吧,char name[szstr]; 中的szstr就是64,編譯前編譯器把char name[szstr];就替換成了char name[64]; 。
con * s宣告的s是con *型指標;不要把*與p算在一起,*p不是變數,你見過以*開頭的識別符號嗎?
30樓:小小呱瓜
請去了解一下什麼叫巨集,什麼叫預處理
c語言中" : "(冒號)和問號是什麼意思
31樓:雲南新華電腦學校
是問號和冒號一起嗎
bool a = 1>3?false:true;
?: 是三元運算子由條件
運算子組成的條件表示式的一般形式為:
表示式1 ? 表示式 2 : 表示式 3
其中表示式 1、表示式2、表示式3,既可以是乙個簡單的表示式,又可以是由各種運算子組成的復合表示式。
計算過程很好理解:
先求表示式1的值, 如果為真, 則求表示式2 的值並把它作為整個表示式的值。 如果表示式1 的值為假, 則求表示式3 的值並把它作為整個表示式的值。
32樓:科技程式迷
是乙個語句,判斷乙個表示式的真假來執行兩條**比如int a=9,b=8;
a>b?a=8:b=9; //就是這句
相當於if語句吧,問號前面的表示式為真的時候執行a=8,否則b=9;
明白了吧。
33樓:匿名使用者
這是c語言的三目運算子。
對於條件表示式b?x:y,先計算條件b,然後進行判斷。
如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。乙個條件表示式從不會既計算x,又計算y。
條件運算子是右結合的,也就是說,從右向左分組計算。例如,a?b:c?d:e將按a?b:(c?d:e)執行。
34樓:匿名使用者
冒號的話一般都是人家說話的時候就是打個冒號,說的是什麼問號的話,一般是乙個語句說完了等人家提的問題就是問好。
簡單的C語言的問題,問一下,乙個簡單的C語言的問題,問一下
a b c 1 已經賦值1給了c 對於 a b c 這個語句按理說是先分別執行a,b,c三個變數的自加,然後按 和 從右到左的結合順序,先做b c,然後再 a 剛才的結果 但是 c語言做了優化,這個語句先執行 a 由於後面接著的是 也就是說最後結果是看 a 其它運算的結果 所以,不管括號中的是什麼結...
c語言程式設計題,第七題,麻煩會的親寫一下過程,謝謝
include void main int a,b,z,y float x,s printf 輸入兩個正整數 scanf d d a,b if a已經執行過。能夠相容輸入兩個數的大小可按任意順序輸入。c語言現代方法第七章程式設計題4 求大佬解答 編寫程式可以把字母格式的 號碼翻譯成數值格式 2 ab...
C語言的問題?誰能解釋一下,C語言問題,這個程式看不明白,誰能解釋一下 謝謝
這個程式寫的不對吧?前面應該是 include include 包含標頭檔案,調入c語言函式庫 後面主函式是 main 主函式main 主函式結束 詳解 程式的功能是從鍵盤輸入一個數x,求x的正弦值,然後輸出結果。在main 之前的兩行稱為預處理命令 詳見後面 預處理命令還有其它幾種,這裡的incl...