x>y?x:y;在C语言中代表什么意思

如题所述

是条件语句:

?前面的x>y是个逻辑表达式,如果表达式为真,则该表达式的值取?后面的值x,否则取:后面的值y

也就是说c的值取x和y中的较大值!

? : ; 是c语言中唯一一个三目运算符。如果x大于y为真,结果输送x,否则为假结果输送y;

(!x++||y--)这个逻辑大概就是x等于0或者y不等于0最后表达式结果为1

++和--是后做的,还有如果x为0,y就不--。

扩展资料:

C的运算符有以下几类:

1、算术运算符:* - + / %

2、关系运算符: > < == != >= <=

3、逻辑运算符:! && ||

4、位运算符:<< >> ~ | ^ &

5、赋值运算符:=及扩展赋值运算符

6、条件运算符:?:

7、逗号运算符:,

参考资料来源:百度百科-运算符

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-24

x>y?x:y;为条件表达式,先判断x>y,若x>y为真,则求x,若x>y为假,则求y。

条件表达式由条件运算符构成,并常用条件表达式构成一个赋值语句,条件表达式内可以嵌套。

条件表达式其一般形式如下:

x=<表达式1>?<表达式2>:<表达式3>

其意义是:先求解表达式1,若为非0(真),则求解表达式2,将表达式2的值赋给x。若为0(假),则求解表达式3,将表达式3的值赋给x。 口诀:前真后假。

扩展资料:

条件表达式有3个表达式,它是C++中唯一的一个三目运算。如果 ? 和 : 同时出现,则称为三目运算符。条件表达式运行时,首先计算表达式1的值。如果表达式的值为真或非零,则计算表达式2的值。如果表达式的值为假或0,则计算表达式3的值。

若有多个条件表达式像这样连在一起:x=<表达式1>?<表达式2>:<表达式3>?<表达式4>:<表达式5>···执行顺序是从右到左依次判断再求出最后的x,即所谓的右结合性。

注意:如果最后一个表达式是逗号表达式,注意逗号表达式的优先级比条件表达式的优先级低,实际运用中应该避免这种情况以免出错。

参考资料:百度百科-条件表达式

本回答被网友采纳
第2个回答  推荐于2018-03-07
一楼说的还有点问题。A?B:C 这个运算是判断A的真假,若是真就执行B如是假就执行C,所以x>y?x:y;这句话的意思就是判断x和y值得大小,要是x>y结果就是x,否则就是y,也就是说这句的是输出的x和y中较大的那个数。
可以使用一下程序来检测:
#include<stdio.h>
main()
{
int x=1,y=2,z;
z=x>y?x:y;
printf("z=%d\n",z);
}本回答被网友采纳
第3个回答  2011-06-12
? : ; 是c语言中唯一一个三目运算符。如果x大于y为真,结果输送x,否则为假结果输送y;
第4个回答  2011-06-12
如果X大于Y,就是真,如果X小于Y就是假本回答被提问者采纳