C语言基础——冒号(:)问号(?)句式的使用,以题目为例
·
例
设 a=1, b=2, c=3, d=4,则表达式:a>b?a:c<d?a:d 结果为
条件运算符(三元运算符)
条件 ? 表达式1 : 表达式2
判断条件,如果条件正确(1),跳转到表达式1,否则(0),跳转到表达式二
分析
这种题目或者问题并不难,需要的只是逐层剥开
以上题为例:
- 判断 a>b,这时的表达式1为 a,表达式2为 c<d?a:d,显然 a>b 不对,跳转到表达式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
更多推荐
已为社区贡献3条内容
所有评论(0)