别再把 if-else 写满屏了,这个"三目运算符"能让你代码瘦身。
一句话说清
条件操作符就是 ? :,它是C语言唯一的一个三目运算符。
作用:根据条件真假,从两个值中选一个。
基本语法
条件 ? 表达式1 : 表达式2
条件为真(非0)→ 取 表达式1
条件为假(0)→ 取 表达式2
举个栗子 🌰
int a = 10, b = 20;
int max = (a > b) ? a : b; // max = 20
等价于:
int max;
if (a > b) max = a;
else max = b;
一眼看出,三目写法更紧凑。
常见使用场景
1. 给变量赋二选一的值
int age = 17;
char* status = (age >= 18) ? "成年" : "未成年";
2. 在printf里直接输出
printf("%s\n", score >= 60 ? "及格" : "不及格");
3. 简化简单判断
int x = 5;
(x > 0) ? printf("正数") : printf("非正数");
注意(坑)
类型要一致:两个表达式的类型尽量相同,否则隐式转换可能带来意外。
不要嵌套太深:a ? b : c ? d : e 虽然可以,但可读性暴跌,不推荐。
条件部分优先:建议用括号把条件括起来,避免优先级混乱。
与 if-else 怎么选?
|------------|---------|
| 场景 | 推荐 |
| 简单二选一赋值/输出 | ?: |
| 复杂分支、多条语句 | if-else |
总结
条件操作符 = 简洁的 if-else
用它让你的代码更精炼,但别滥用------清晰 > 简短。
好了,去给你的代码减减肥吧!
如果你觉得有帮助,欢迎点赞、收藏、评论,让更多人看到!