C語言中的條件表示式

2021-09-26 04:55:24 字數 497 閱讀 1276

條件運算子是c語言中唯一的三元運算子。

例如:x = (y < 0) ?  -y : y;

該語句的意思是「如果y小於0,那麼x = -y; 否則,x = y 」。

用if  else可以表達為

if (y < 0)

x = -y;

else

x = y;

條件表示式的通用形式如下:

expression1  ?   expression2  :  expression3

如果expression1為真(非0) ,那麼整個條件表示式的值與expression2的值相同;

如果expression1為假(0),那麼整個條件表示式的值與expression3的值相同;

需要把兩個值中的乙個賦值給變數時,就可以用條件表示式。典型的例子是,把兩個值中的最大值賦值給變數:

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

如果a大於b ,那麼將max值設定為a;否則,設定為b.

C語言中的問號表示式。

式a?b c值為 若a為真,則b 若a為假,則c。但有一點是值得注意的,那就是問號表示式的結合性,問號表示式是從右往左的運算方向 尤其是當問號表示式巢狀使用時得注意這個問題,例如 int a 1,b 2,c 3,d 4 printf d a 正確結果是 1 因為先執行的是c因此得到的結果就是1 可以...

C語言中綴表示式轉化為字尾表示式

include include include include 別靠空想!及其浪費時間!多謝謝偽 分析一下!字尾表示法計算時候的思路!先把元素推到棧中,每碰到乙個 char stack 50 char output 50 char nouse 50 int flag 0 char sz 50 cha...

C語言中嵌入正規表示式

標準的c和c 都不支援正規表示式,但有一些函式庫可以輔助c c 程式設計師完成這一功能,其中最著名的當數philip hazel的perl compatible regular expression庫,許多linux發行版本都帶有這個函式庫。c語言處理正規表示式常用的函式有regcomp regex...