三目运算符

一、语法?

复制代码
表达式 ? 结果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 > y、a == b、score >= 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

相关推荐
Allstar_436 分钟前
拆解全星APQP系统的六大核心质量工具如何联动——汽车供应链企业专业级研发项目管理系统
运维·服务器
随便写个软件10 分钟前
【新版本】EasyExplorer资源管理器 3.12.0——地址栏重要更新
运维·服务器·前端·everything·资源管理器
Jack N13 分钟前
【Strapi 系列之二】Collection / Single / Component 怎么选?Strapi 字段大全一篇讲透
前端·javascript·strapi
2402_8828938616 分钟前
Linux 进程概念详解(下)—— 进程调度、环境变量与虚拟地址空间
linux·进程·虚拟地址空间
虚无的纽扣18 分钟前
【Linux】揭开文件系统神秘的面纱:第四讲:可执行文件的组装车间
linux·运维·服务器
YMWM_20 分钟前
ubuntu系统字体缩放配置
linux·运维·ubuntu
hiahiahia12321 分钟前
Agent Tool 执行失败怎么办
服务器·前端
Java后端的Ai之路21 分钟前
09-React组件生命周期
前端·react.js·前端框架
Amelio_Ming25 分钟前
rk3588 pcie驱动分析之二 (pcie设备树节点分析)
linux·嵌入式硬件
IT_陈寒27 分钟前
SpringBoot开发实战:从入门到精通
前端·人工智能·后端