您好,登錄后才能下訂單哦!
三目運算符優先級僅高于賦值運算符
?:
語法:
條表 ? 表 1 :表 2
運算規則:
根據條表的運算規則結果:若條表運算結果為真,則以表1的運算結果為表達式的結果,否則用表2的結果為表達式的結果
char sex;
scanf("%c", &sex);
printf(sex == 'm' ? "先生\n":"女士\n");
一行找到最大值:采用分而治之的原則
int a, b, c, d;
scanf("%d%d%d",a, &b, &c);
d = (a>b?a:b)>c ? (a>b?a:b):c;
將a,b,c,d中最大數賦值給d:
d = ((a > b ? a : b) > c ? (a > b ? a : b) : c) > d ?((a > b ? a : b) > c ? (a > b ? a : b) : c) : d;
x - y ? 3 : -3//若 x == y 則為假,不成立,則x - y的值為 -3
要求寫出判斷X不能被3整除且不能被7整除的條表:
x%3 && x%7
滯后自增在條表中的特殊表現:
C語言對于滯后自增在條表中的處理是先用沒有自增前的數字參加判斷,然后立刻自增,然后參加其他運算
例如:
int i = 1, j;
j = i-- ? i*2 : i+10;
printf("%d %d\n", i, j);
輸出的值為 0 0
解釋:先用1進行判斷,發現是真,則i*2是表達式的值,執行i*2之前i--得到i=0,則表達式的值為0;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。