若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x—y)?(x++):(y++)中的条件表达式(x—Y)等价的是( )。
A.(x—Y<01Ix—Y>O)
B.(x—y<0)
C.(x—Y>0)
D.(x—Y==0)
答案A
x!=y的情况下x-y和x-y>0||x-y<0的逻辑值都是true
x==y的情况下x-y和x-y>0||x-y<0的逻辑值都是false
测试:
int x = 1, y = 5;
x-y ? x++ : y++;
printf("%d %d\n", x, y);
结果为 2 5
int x = 1, y = 5;
(x-y>0||x-y<0) ? x++ : y++;
printf("%d %d\n", x, y);
结果为 2 5
int x = 1, y = 5;
x-y==0 ? x++ : y++;
printf("%d %d\n", x, y);
结果为 1 6
三目运算
最新推荐文章于 2024-09-03 08:30:00 发布