一般来说,C语言中的三目运算符为a?b:c即有三个参与运算的量。

由条件运算符组成条件表达式的一般形式为:

表达式1? 表达式2:表达式3

求值规则为:如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值。条件表达式通常用于赋值语句之中。

例如条件语句:

if(a>b) max=a;
else max=b;

可用条件表达式写为 max=(a>b)?a:b; 执行该语句的语义是:

如a>b为真,则把a赋予max,否则把b 赋予max。

在我们使用条件表达式时,还应注意以下几点:

(1)条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。因此 max=(a>b)?a:b可以去掉括号而写为 max=a>b?a:b

(2)条件运算符?和:是一对运算符,不能分开单独使用。

(3)条件运算符的结合方向是自右至左。

例如:

a>b?a:c>d?c:d应理解为a>b?a:(c>d?c:d) 这也就是条件表达式嵌套的情形,即其中的表达式3又是一个条件表达式。

void main(){
int a,b,max;
printf("\n input two numbers: ");
scanf("%d%d",&a,&b);
printf("max=%d",a>b?a:b);//对于“三目运算符是什么”,可以理解为if() 语句一;else 语句二;a? b : c
}

三目运算符简单好用。

声明:

本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

C语言中的三目运算符是啥?有何用处?相关推荐

  1. c语言三目运算符_C语言中的三目运算符是啥?有何用处?

    一般来说,C语言中的三目运算符为a?b:c即有三个参与运算的量. 由条件运算符组成条件表达式的一般形式为:表达式1? 表达式2:表达式3求值规则为:如果表达式1的值为真,则以表达式2 的值作为条件表达 ...

  2. c语言中的二目运算符,C语言中的三目运算符是什么

    C语言中的三目运算符是:"?:".三目运算符连接三个对象,是C语言中唯一一个三目运算符,又称为条件运算符.它的一般形式是:[表达式a?表达式b:表达式c]. C语言中的三目运算符是 ...

  3. c语言中的三目运算符是什么意思,C语言中的三目运算符是什么

    C语言中的三目运算符是:"?:".三目运算符连接三个对象,是C语言中唯一一个三目运算符,又称为条件运算符.它的一般形式是:[表达式a?表达式b:表达式c]. C语言中的三目运算符是 ...

  4. c语音异或运算符_C语言中的按位异或运算符有什么用处?

    原标题:C语言中的按位异或运算符有什么用处? 想知道C语言中的按位异.运算符有什么用处,首先C语言中^为按位异或运算符,若两个二进制位相同,则结果为0,不同为1 例: #include "s ...

  5. c 语言中 %是什么运算符,C 语言基础----详解C中的运算符

    C语言中又有哪些运算符呢? 如下所示: ※ 算术运算符 ※ 赋值运算符 ※ 关系运算符 ※ 逻辑运算符 ※ 三目运算符 C语言基本算术运算符如下表: 除法运算中注意: 如果相除的两个数都是整数的话,则 ...

  6. 【c语言中的运算符】

    目录 1. 运算符号是啥? 2. 算术运算符 3. 自增与自减运算符 4. 赋值运算符 5. 关系运算符 6. 逻辑运算符 7. 三木运算符 8. 运算符大比拼之优先级比较 1. 运算符号是啥? 我们 ...

  7. c语言三目运算错误,c语言中三目运算符有什么用

    三目运算符又称:三元运算符.条件运算符,用于根据二元条件的结果执行代码,可以有效的减少行代码的数量并提高应用程序的性能. c语言中三目运算符 三目运算符具有以下形式:表达1?表达2:表达3 说明:表达 ...

  8. 【C语言进阶深度学习记录】十四 C语言中 三目运算符和逗号表达式

    文章目录 1 三目运算符 1.1 三目运算符的返回类型的代码案例分析 2 逗号表达式 2.1 逗号表达式代码案例分析 2.2 如何用一行代码实现 strlen函数 3 总结 1 三目运算符 三目运算符 ...

  9. C语言中唯一的一个三目运算符(条件运算符)

    C语言中唯一的一个三目运算符(条件运算符) "(a>b)?a:b"是一个条件表达式,如果(a>b)条件为真,则条件表达式去值a,否则取值b. 一般形式:表达式1?表达式 ...

最新文章

  1. 医学影像阅读/分析软件FSLeyes安装避坑+核磁共振影像数据处理
  2. 子类继承父类后调用virtual函数问题(base.函数名)
  3. ggplot2中显示坐标轴_R可视化08|ggplot2图层标度图层(scale layer)图例篇
  4. $.ajax data怎么处理_AJAX
  5. docker 命令_Docker的入门:安装Docker及记住常用的镜像命令和容器命令
  6. 【pdf】Head First 设计模式(中文版)
  7. 【Python精华】100个Python练手小程序
  8. 自己处理域名、主机备案流程 + 公网安备流程,总共耗时半个月左右
  9. IT行业程序员工资一般多少?发量与薪资成反比
  10. 字节和兆字节的换算_什么是兆字节(MB)?
  11. “菜刷刷”系统装机流程
  12. smartbi连接mysql数据库_Smartbi_V9配置MySQL8作为知识库
  13. java pdf添加页码_java itext pdf 怎么加页码
  14. 如何做好一名合格的项目组长
  15. Checking Table 设计模式 - 从概念、建模、设计到实现——兼谈基于业务需求驱动的设计模式创新
  16. Android 静音检测
  17. zabbix的搭建和简单使用
  18. uv棋盘格4096_建模大佬们都在用的快速高效展UV的方法,还不来GET一下么?
  19. 用Flutter做桌上弹球?聊聊绘图(CanvasCustomPaint)API
  20. Latex输入罗马数字的最简便方法

热门文章

  1. 当HTTP状态代码不足时:处理Web API错误报告
  2. java ee基础知识_Java EE:基础知识
  3. Spring @Value批注
  4. javafx中的tree_JavaFX中的塔防
  5. 使用Hibernate和Spring设置分布式Infinispan缓存
  6. Java8排序–性能陷阱
  7. 使用纯HTML和OmniFaces构建动态响应的多级菜单
  8. Spring Integration Java DSL示例–使用Jms名称空间工厂进一步简化
  9. Neo4j Backup:在Mark Needham上存储副本和一致性检查
  10. 您是否应该信任JVM中的默认设置?