if (a=5) ... // 永真,a 賦值為 5
if (b) ... // b 非 0 即真
if (a=b) ... // 賦值後以 a 值判斷真假
() 括起,語句後加分號{} 括成復合語句,} 後不加分號
if (a>b) { a++; b++; }
else { a=0; b=10; }
if 語句中的執行語句又是 if,形成嵌套。需注意 else 配對規則:
C 語言規定:else 總與其前面最近的未配對 if 配對。
if (a != b)
if (a > b) printf("A>B\n");
else printf("A b) printf("A>B\n");
else printf("A
建議:多分支優先用 if-else-if,結構更清晰:
if (a == b) printf("A=B\n");
else if (a > b) printf("A>B\n");
else printf("A
運算式1 ? 運算式2 : 運算式3
// 真取 2,假取 3
常用於簡單賦值:
max = (a > b) ? a : b; // 等價於 if-else 但更簡潔
max = a>b?a:b 可不加括號? 與 : 成對使用,不可分開a>b?a:c>d?c:d 解析為 a>b?a:(c>d?c:d)
void main() {
int a,b;
scanf("%d%d", &a, &b);
printf("max=%d", a>b?a:b);
}