C语言中z=x>y?x:y是什么意思?

作者&投稿:郅竹 (若有异议请与网页底部的电邮联系)
C语言函数中,z=x>y?x:y; 这一句是什么意思呢?~

这是C中的三元运算,其格式为:
x = E ? a : b ;
x是用来接收结果的
E是个逻辑表达式
?: 是一组运算符
a , b是两个备选变量
意思是:当E为真时,返回a,即x=a 。 否则,返回b,即x=b

可以用if语句来替换它,如:
if ( x>y )
z=x;
else
z=y;

这是条件表达式 z=x>y?x:y 分为条件表达式1?表达式2:表达式3 若条件1为真则 表达式值为2的值 若1为假则表达式值为3

?:称为条件运算符。?:就是表示?前的表达式的值是否为真,是的话取冒号前的值,否则取冒号后的值。

相当于:

if (x>y)

{z=x;}

else

{z=y;}


扩展资料

C语言中条件表达式的通用形式如下:

exp0=exp1?exp2:exp3

如果exp1为真(非0),那么把exp2的值赋给exp0;如果exp1为假(0),那么把exp3的值赋给exp0。

2.verilog语法中也有类似C语言中的条件表达式

如下:

inout sda;

assign sda=(flag==1)?data_buf:1'bz;

当flag==1时,sda的值等于发送的数据的data_buf(sda相当于output类型),

当flag==0时,sda的值变成高阻态(sda相当于input类型)。

参考资料来源:

百度百科——条件运算符



这句话的意思是:
如果x>y为真,那么把x的值赋给Z,否则把Y的值赋给Z。

?在这里起判断作用。
:和?一起是C语言里一起用的,是基本语法,书上有的。。
你好好找找书上,以后的C++和C#里也有这种写法

?:是唯一一个三元运算符。意思是,先判断?号前的表达式X>Y,如果为真,则X>Y?X:Y这一整个表达式的值为X,否则为Y。
Z=X>Y?X:Y的意思是,如果X>Y,则Z=X;否则Z=Y。即将X和Y中较大的一个值赋给Z。

相当于:
if x>y
z=x;
else
z=y;

?就是表示?前的表达式的值是否为真,是的话取冒号前的值,否则取冒号后的值。

根据优先级计算,先算括号里面的y>!z,如果z!=0的话,!z就为0,z为0的话!z就为1,
然后y>(!z),判断y是否大于1或者0(之前已经提到了),大于就返回1,不大于1就返回0,最后再和x相加就行了
举个例子:x==2,y==2,z==3
得出来的就是3。
以上


c语言:x=y=1;z=x++,y++,++y;计算输出x,y,z的值
x=1,y=1 z=x++ 把x给z,所以z=1,之后x++,所以x=2;y++ 原来y=1,现在变成2 ++y 前面y=2,现在变成3 所以,最后:x=2 y=3 x=1

c语言编程中z=(x++,y++)是什么意思? 如果x=1 Y=2 那么z是几 z是按 ...
逗号也是c++中的一种运算符,返回逗号右边表达式的值。所以上述使用方法等价于z=(1,2) = 2。即y++的值赋值给z。注意后自增而不是前自增,后自增优先级高于逗号运算符就可以了。

c语言中z=(x=2,y=x+3,y*x+6),得到的结果z是多少?
这个是结果是逗号表达式的值,即最最右边的表达式的值,即y*x+6的值,x的值是2,y的值是5,所以y*x+6=10+6=16,z的值是16

关于c语言中的问题 z=(x%y,x\/y))
x%y表示x除以y的余数。这里10%3得1。x\/y表示x整除以y的商。这里10\/3得3。最后(,)为逗号表达式,逗号表达式的值是表达式右边的值。这里得3。

c语言中z+=x>y?++x:++y怎么计算
z = z + (x > y)如果x>y就++x,不大于就++y 也就是x>y 的话就是 z = z + (++x);x<y 就是 z = z + (++y);

C语言中,比如z=(x%y,x\/y)括号的运算什么意思,能解释下吗谢谢
x%y的意思是取余数。比如100\/3=33...1 ,那么x%y=1.x\/y的意思就是相除。

z=count(x,y)在c语言中代表什么
一楼说的还有点问题。a?b:c 这个运算是判断a的真假,若是真就执行b如是假就执行c,所以x>y?x:y;这句话的意思就是判断x和y值得大小,要是x>y结果就是x,否则就是y,也就是说这句的是输出的x和y中较大的那个数。可以使用一下程序来检测:include main(){ int x=1,y=2,z;z=x>y?

c语言里 if(x=y=z)是什么意思?
意思是将z的值赋给y,再赋给x,如果x的值不是0,则x=y=z为真,值为1,如果x的值是0,则x=y=z为假,值为0。

关系x>= y>= z在C语言中怎样表示的
x>=y>=z 这种写法是数学上的表达方法 在C语言中,如果写成这样,程序编译并不报错,这也是一个合法的逻辑运算表达式。先计算x>=y,结果是真(1)或假(0),然后再用这个结果与z进行比较,得到最终结果。这个结果与x>=y && y>=z的结果不一定相同,进而出现程序运行BUG。因此,一定要正确使用C...

C语言基础问题,如图,为何会输出x=0,y=10,z=0
1、x=(y=(z=10)+5)-5中,z获得5,y获得15,x获得10 2、y=(z=x=0,x+10)中,z和x获得0,而y的值为括号中逗号表达式的值,逗号表达式的计算方法是先计算左侧的,依次往右计算,最后计算的表达式的值为逗号表达式的值,因此(z=x=0,x+10)的值为x+10的值,x的值为0,故逗号表达式的...

慈利县13241351316: c语言中z=x>y?x:y 是什么意思 -
褒汪鞣酸: ?:是一个三目运算符,他的意思是如果问号前面的表达式为真,则返回:之前的表达式的值,否则返回:之后的表达式的值 这句话可以拆解为 if(x>y) {z=x; } else {z=y; }也就是将x、y的较大者赋值给z

慈利县13241351316: C语言中z=x>y?x:y是什么意思? -
褒汪鞣酸: ?:称为条件运算符.?:就是表示?前的表达式的值是否为真,是的话取冒号前的值,否则取冒号后的值. 相当于: if (x>y) {z=x;} else {z=y;} 扩展资料 C语言中条件表达式的通用形式如下: exp0=exp1?exp2:exp3 如果exp1为真(非0),...

慈利县13241351316: C语言里面z=x>y? x:y;什么意思 怎么用 -
褒汪鞣酸: 这句话的意思是: 如果x>y为真,那么把x的值赋给z,否则把y的值赋给z. ?在这里起判断作用. :和?一起是c语言里一起用的,是基本语法,书上有的.. 你好好找找书上,以后的c++和c#里也有这种写法

慈利县13241351316: c语言里z=x>y?x;y什么意思 -
褒汪鞣酸: 我试了一下,没问题呀,你看看哪里不一样?#include<stdio.h> int max(int x,int y){ int z; z=x>y?x:y; return(z); } main(){ int a; printf("%d\n",max(7,8)); scanf("%d",&a); return(0); }

慈利县13241351316: 在C语言中,该语句在z=x>y?x:y中是什么意思
褒汪鞣酸: 三目运算符号,当x>y为真的时候,z=x,否则z=y 所以该语句表示的是,把x,y中的较大值赋给z

慈利县13241351316: z=x>y?x:y 在c语言中什么意思 -
褒汪鞣酸: 这是个三目运算,等价于:if ( x>y ) z=x ; else z=y ; 三目运算格式为 e1 ? e2 : e3 ; 如果e1成立,返回e2的值,否则返回e3的值 !

慈利县13241351316: c语言中 x<y?x:z<w?y:w是什么意思 -
褒汪鞣酸: 如果x>y,就把x的值赋给z,否则把y的值付给z. 可以把z=x>y? x : y理解为 if(x>y){ z=x;}else{ z=y;} 扩展资料: 三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分.它是唯一有3个操作数的运算符,所以有时又称为...

慈利县13241351316: 在C语言中,该语句在z=x>y?x:y中是什么意思,问号表示什么意思 -
褒汪鞣酸: 如果X>Y,z=X 把X的值赋给Z 如果X<Y,z=Y把Y的值赋给Z 就相当与if else if语句 if(x>y) z=x else if(x<y) z=y

慈利县13241351316: x>y?x:y;在C语言中代表什么意思 -
褒汪鞣酸: 一楼说的还有点问题.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); }

慈利县13241351316: z=x>y?x:y在C语言中是什么意思
褒汪鞣酸: 判断x和y谁大 大的赋值给Z

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网