C语言基础——冒号(:)问号(?)句式的使用,以题目为例

设 a=1, b=2, c=3, d=4,则表达式:a>b?a:c<d?a:d 结果为

条件运算符(三元运算符)

条件 ? 表达式1 : 表达式2

判断条件,如果条件正确(1),跳转到表达式1,否则(0),跳转到表达式二

分析

这种题目或者问题并不难,需要的只是逐层剥开

以上题为例:   

  1. 判断 a>b,这时的表达式1为 a,表达式2为 c<d?a:d,显然 a>b 不对,跳转到表达式2
  2. 来看c<d?a:d,条件为 c<d,表达式1为 a,表达式2为 d,显然 c<d,所以执行表达式1,此时式子结束,返回a,即1

结果

来运行一下

int a=1, b=2, c=3, d=4;
printf("%d\n", a>b?a:c<d?a:d);

输出1

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值