您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關C語言問號表達式怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
C語言問號表達式
問號表達式
(表達式1)?(表達式2):(表達式3)
如果表達式1成立則執行表達式2,否則執行表達式3
舉例
inta=5,b=3;
printf("%d",a>b;a:b);
運行
如果a大于b成立則執行:前面的即輸出a。否則執行:后面的即輸出b。本例中輸出結果為5
注意事項
問號表達式是從右向左運行
例如
inta=8,b=3,c=7;
printf("%d",a>b?a>c?a:c:b>c?b:c);
可以分成三步完成
第一步:b>c?b:c結果為c
第二步:a>c?a:c結果為a
第三步:前兩步的結果分別對應表達式3和表達式2即a>b?a:c
最終輸出結果為a即8
問號表達式和逗號表達式
問號表達式:
#include<stdio.h>
voidmain()
{
inta,b,c,d,e;
c=9;
d=8;
scanf("%d,%d",&a,&b);
e=(a>b)?c:d;
printf("%d\n",e);
}
可以理解為,如果a>b則e=c,否則e=d。“=”后整體表達式可以看做(表達式1)?(表達式2):(表達式3);
逗號表達式:
#include<stdio.h>
voidmain()
{
inta,b,c,d,e;
c=9;
d=8;
scanf("%d,%d",&a,&b);
e=((a=b+c),a+d);
printf("%d\n",e);
}
在問號表達式基礎上做一下微小的更改得出:
逗號表達式的優先級最低,e=((a=b+c),a+d)中先計算b+c賦值給a,然后計算a+d賦值給e;這只是一個最簡單的逗號表達式,還可以在a+d后面繼續加“,”。
感謝各位的閱讀!關于“C語言問號表達式怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。