搜索
C 教程 / 简写 If Else

简写 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);