三目运算符

一、语法?

复制代码
表达式 ? 结果1 : 结果2;

翻译成人话

如果 表达式 成立 → 返回 结果 1 否则 → 返回 结果 2

二、代码里的这句:

复制代码
return x > y ? x : y;

等价于

复制代码
if (x > y) {
    return x;
} else {
    return y;
}

意思就是:x 比 y 大就返回 x,否则返回 y → 就是取最大值。

三、例子

复制代码
int a = 5;
int b = 3;

// 用法1:赋值
int max = a > b ? a : b; 
// 因为 5>3 成立 → max = 5

// 用法2:直接输出
printf("%d", a > b ? a : b); 
// 输出 5

四、通用规则(必看)

  1. 问号前面是判断条件 x > ya == bscore >= 60 都可以
  2. 问号后面是两个选择 条件真 → 选冒号左边 条件假 → 选冒号右边
  3. 整个式子最终会得到一个值

五、更多例子

复制代码
// 1. 判断成年人
int age = 20;
char* result = age >= 18 ? "成年" : "未成年";

// 2. 取最小值
int min = x < y ? x : y;

// 3. 分数及格判断
char c = score >= 60 ? 'P' : 'F';

六、什么时候用?

  • 简单二选一的时候用
  • 代替短短的 if-else
  • 让代码更简洁、一行写完

总结

x > y ? x : y= 如果 x 大,就给我 x,否则给我 y

相关推荐
好评1245 分钟前
【Linux】传输层协议TCP
linux·网络·tcp/ip
Shell运维手记11 分钟前
Linux mdadm 软 RAID + LVM 完整综合笔记
linux·运维·笔记·5g
凤舞飘伶22 分钟前
服务器内存满日常运维命令
linux·运维·服务器
️学习的小王25 分钟前
Windows Claude Code 接入 Playwright‑MCP,调用本机Edge浏览器(避坑完整教程)
前端·windows·edge
律宏阔31 分钟前
CloakBrowser 开发踩坑笔记
前端·浏览器
Made in Haven71237 分钟前
HTML课程笔记补2
前端·笔记·html
Cry丶1 小时前
Vue 3 业务管理页面实战:组件拆分、父子通信与弹窗复用
前端·javascript·vue.js·父子通信·组件拆分·弹窗复用
雪芽蓝域zzs1 小时前
Vue前端配置路由通配捕获 404
前端·javascript·vue.js
计算机魔术师1 小时前
Anthropic 发布电商 Agent 架构与生产实践指南,并开源 commerce-agents 参考实现
前端
Fcy6481 小时前
Linux下 Socket编程 —— TCP网络编程
linux·网络·tcp/ip