C 语言中的简写 If Else
简写 If...Else(三元运算符)
还有一种简写的 if else,被称为三元运算符,因为它由三个操作数组成。它可以用来将多行代码替换为单行。它经常用于替换简单的 if else 语句:
语法
variable = (condition) ? expressionTrue : expressionFalse;
而不是这样写:
实例
int time = 20;
if (time < 18) {
printf("Good day.");
} else {
printf("Good evening.");
}
你可以简单地写成:
实例
int time = 20;
(time < 18) ? printf("Good day.") : printf("Good evening.");
使用传统的 if...else 语句还是三元运算符完全取决于你。
注意:虽然上面的示例在语法上是正确的,但使用三元运算符时通常建议将其结果赋值给一个变量,而不是直接执行像 printf 这样的函数。直接执行可能会导致代码的可读性降低。正确的做法可能是将要打印的字符串赋值给一个变量,然后再打印这个变量,或者坚持使用传统的 if-else 结构。
例如:
int time = 20;
const char *greeting = (time < 18) ? "Good day." : "Good evening.";
printf("%s\n", greeting);