三目运算符详解·

发布时间:2020-07-15 20:22:50 作者:buzhbuzh
来源:网络 阅读:777

    三目运算符优先级仅高于赋值运算符

?:

语法:

条表 ? 表 1 :表 2

运算规则:

根据条表的运算规则结果:若条表运算结果为真,则以表1的运算结果为表达式的结果,否则用表2的结果为表达式的结果

char sex;

scanf("%c", &sex);

printf(sex == 'm' ? "先生\n":"女士\n");

一行找到最大值:采用分而治之的原则

int a, b, c, d;

scanf("%d%d%d",a, &b, &c);

d = (a>b?a:b)>c ? (a>b?a:b):c;

将a,b,c,d中最大数赋值给d:

d = ((a > b ? a : b) > c ? (a > b ? a : b) : c) > d ?((a > b ? a : b) > c ? (a > b ? a : b) : c) : d;

x - y ? 3 : -3//若 x == y 则为假,不成立,则x - y的值为 -3

要求写出判断X不能被3整除且不能被7整除的条表:

x%3 && x%7

滞后自增在条表中的特殊表现:

C语言对于滞后自增在条表中的处理是先用没有自增前的数字参加判断,然后立刻自增,然后参加其他运算

例如:

int i = 1, j;

j = i-- ? i*2 : i+10;

printf("%d %d\n", i, j);

输出的值为 0 0

解释:先用1进行判断,发现是真,则i*2是表达式的值,执行i*2之前i--得到i=0,则表达式的值为0;



推荐阅读:
  1. java中三目运算符
  2. iOS中奇妙的三目运算符示例详解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

选择 运算符 算符

上一篇:部署redis主从集群并开启哨兵模式

下一篇:junos SRX550 HA配置

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》