c语言函数中,z x》y?x:y这一句是什么意思呢

2020-12-02 13:49:16 字数 7177 阅读 4327

1楼:匿名用户

这是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;

2楼:__峰回路转

三元运算符。

首选是比较x和y哪个大,z = x>y? x:y; 如果x > y 为真,就是x是大于y的就返回的值x赋值给z,否则就返回y赋值给z。

3楼:匿名用户

判断x>y是否正确,如果x>y正确,把x的值赋给z,如果错误,把y赋给z

4楼:匿名用户

z赋值为x和y的较大值。

5楼:我只会辅助丶

x大于y,z=x

否则z=y

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

6楼:南瓜苹果

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

相当于:

if (x>y)

else

扩展资料

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类型)。

7楼:尤永修喻辰

c中x+(y>!z)这种表达式写的其实很不好解释:括号中优先级

!高于》

先求!z

也就是表达式

的逻辑取反

z非01!z

=0;z=0则!z=1

然后判断y的值

是否大于!z

最后用x+上上一步判断的值

这样写的不好处在于

混用逻辑表达式和整型变量

(假定xyz是int之类)

写法不严格,很容易编译器警告(虽然不会报错)。属于习惯不好的写法,尽量避免

8楼:玩转困难

这句话的意思是:

如果x>y为真,那么把x的值赋给z,否则把y的值赋给z。

?在这里起判断作用。

:和?一起是c语言里一起用的,是基本语法,书上有的。。

你好好找找书上,以后的c++和c#里也有这种写法

9楼:依夏青兰晨

根据优先级计算,先算括号里面的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。以上

10楼:愈升荣其寒

先求!z的值,如果z是一个非零值,则!z为0,如果z为0,则!

z为1,然后比较y与!z的关系,若z为非零值,则即为判断y>0是否成立,成立则y>!z的值为1,否则为0,若z为0.

则即为判断y>1是否成立,成立则y>!z的值为1,否则为0,。最后用x的值加上y>!

z的值。

11楼:郯媛女秦丁

先取z的否定

判断一是否大于z的否定

再加上x的值

!zz的否定

当z为非0值时

!z=0

z为0时

!z=1

所以最后的值

就是x+0

或者x+1

12楼:张简元芹是群

z取反如果y>z的取反则值为1

否则则为0

x再加上0或者1也就是上面的结果

13楼:匿名用户

?:是个三元运算符

a?b:c 的意思是,如果a等于0结果就是c,否则结果是b

x>y?x:y的意思是,如果x>y 这个式子结果是x, 否则式子结果是y

14楼:匿名用户

相当于:

if x>y

z=x;

else

z=y;

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

15楼:匿名用户

?:是唯一一个三元运算符。意思是,先判断?号前的表达式x>y,如果为真,则x>y?x:y这一整个表达式的值为x,否则为y。

z=x>y?x:y的意思是,如果x>y,则z=x;否则z=y。即将x和y中较大的一个值赋给z。

16楼:匿名用户

假如z=x是真的话! 就是z和x相不相等!等就是真

(x:y)真就输出x的值假的话输出y。

c语言函数中,z=x>y?x:y; 这一句是什么意思?

17楼:匿名用户

意思是z=x>y? x:y;

把中x,y大者赋值给z,

x>y? x:y;

如x>y成立则(x>y? x:y)=x

不成立则(x>y? x:y)=y

a? b:c

先判断a是否成立,

成立则(a? b:c)=a

不成立则(a? b:c)=b

c语言是一门通用计算机编程语言,应用广泛。c语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管c语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的c语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器。

c语言继续发展,在1982年,很多有识之士和美国国家标准协会为了使这个语言健康地发展下去,决定成立c标准委员会,建立c语言的标准。委员会由硬件厂商,编译器及其他软件工具生产商,软件设计师,顾问,学术界人士,c语言作者和应用程序员组成。1989年,ansi发布了第一个完整的c语言标准。

c语言里面z=x>y? x:y;什么意思 怎么用

18楼:匿名用户

z=x>y? x:y;

把中x,y大者赋值给z,

x>y? x:y;

如x>y成立则(x>y? x:y)=x

不成立则(x>y? x:y)=y

a? b:c

先判断a是否成立,

成立则(a? b:c)=a

不成立则(a? b:c)=b

在c语言中,该语句在z=x>y?x:y中是什么意思,问号表示什么意思

19楼:匿名用户

这是条件表达式 z=x>y?x:y 分为条件表达式1?

表达式2:表达式3 若条件1为真则 表达式值为2的值 若1为假则表达式值为3

20楼:匿名用户

如果x>y,z=x 把x的值赋给z如果xy)z=xelse if(x

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

21楼:匿名用户

?:是一个三目运算符,他的意思是如果问号前面的表达式为真,则返回:之前的表达式的值,否则返回:之后的表达式的值

这句话可以拆解为

if(x>y)else

也就是将x、y的较大者赋值给z

z=x>y?x:y 在c语言中什么意思

22楼:匿名用户

这是个三目运算,等价于:

if ( x>y )

z=x ;

else

z=y ;

三目运算格式为 e1 ? e2 : e3 ; 如果e1成立,返回e2的值,否则返回e3的值 !

23楼:暮影

我把它转化为if语句给你看看吧:

三元运算符: 如果首先判断x>y,如果是则z=x,否则z=yif (x>y) z=x;

else z=y;

24楼:匿名用户

如果x比y大

那么就把x的值赋给z

否则把y的值赋给z

25楼:匿名用户

if x>y, z = x。反过来if x<=y,z=y

26楼:贝凝进飞柏

这句话的意思是:

如果x>y为真,那么把x的值赋给z,否则把y的值赋给z。

?在这里起判断作用。

:和?一起是c语言里一起用的,是基本语法,书上有的。。

你好好找找书上,以后的c++和c#里也有这种写法

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

27楼:匿名用户

一楼说的还有点问题。a?b:

c 这个运算是判断a的真假,若是真就执行b如是假就执行c,所以x>y?x:y;这句话的意思就是判断x和y值得大小,要是x>y结果就是x,否则就是y,也就是说这句的是输出的x和y中较大的那个数。

可以使用一下程序来检测:

#include

main()

28楼:匿名用户

(!x++||y--)

这个逻辑大概就是

x等于0或者y不等于0最后表达式结果为1

++和--是后做的

还有如果x为0,y就不--了

29楼:储晨权红云

很久以前学的。还记得一点点。应该是如果:x>y,取x。反之则取y。

30楼:fei仰角30度

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

31楼:匿名用户

这是一个判断句。意思是,若x>y则结果是x,反之,结果是y.

32楼:supper大毛

若x>y,则表达式的值为 x;

否则为 y

33楼:匿名用户

如果x大于y,就是真,如果x小于y就是假

c语言中 x

34楼:靠名真tm难起

如果x>y,就把x的值赋给z,否则把y的值付给z。

可以把z=x>y? x : y理解为

if(x>y)else

扩展资料:

三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。

对于条件表达式b ? x : y,先计算条件b,然后进行判断。

如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。

例如,a ? b : c ?

d : e将按a ? b :

(c ? d : e)执行。

可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为条件是否成立,条件成立为结果1,否则为结果2。

35楼:南瓜苹果

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

相当于:

if (x>y)

else

扩展资料

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类型)。

36楼:匿名用户

调用一个函数p(),传入的参数是变量x的地址以及变量y,函数的返回值赋给变量z。

好好学习天天向上

37楼:三天打鱼

x=1y=3

z=5z>y 条件成立 返回1

然后用返回的值跟后面的x比较 1>x 条件不成立 返回0 所以结果是0

要合并两个逻辑 应该用&& 与运算符 写为 z>y && y>x

38楼:匿名用户

?:是一个三目运算符,他的意思是如果问号前面的表达式为真,则返回:之前的表达式的值,否则返回:之后的表达式的值

这句话可以拆解为

if(x>y)else

也就是将x、y的较大者赋值给z

39楼:丶菜鸡几鸡几

!(x+y) > z 表达式中:

!的优先级高,先计算出x+y的值,若x+y不为0,则!(x+y)的值为0,反之为1,然后将这个值和z进行比较,如果大于z返回1,小于z返回0 。

具体的,这里是将x+y的值作为一个bool型返回了,所有不为0的数都相当于true(1),为0的数也就是false。!将表达式取反,!0==1 / !

1==0 。然后在大于号那里,又将这个bool型变量转为了一个整型变量与z进行比较,若表达式结果为真返回true(1), 否则返回false(1)。

c语言里面z x》yx:y什么意思"怎么用

1楼 匿名用户 z x y x y 把中x y大者赋值给z x y x y 如x y成立则 x y x y x 不成立则 x y x y y a b c 先判断a是否成立, 成立则 a b c a 不成立则 a b c b c语言中z x y x y是什么意思? 2楼 南瓜苹果 ? 称为条件运算符。...

直线y-x是什么意思,z=x>y?x++,++y是什么意思

1楼 夜雨雾雪 第二,四象限的角平分线上所有都是y x 2楼 内坚无畏 y x是第 二 四象限的角平分线。 3楼 匿名用户 在二四象限过原点的斜线经过点 1, 1 z x y x y是什么意思 4楼 尚学堂科技 z x y x y是三目运算符 对于条件表达式b x y,先计算条件b,然后进行判断。 ...

C语言中x+y 2是什么意思啊,c语言中x+=++y是什么意思

1楼 匿名用户 x y 2 就相当于 x x y 2 是c中提供的一个自变运算符,其左右两边的数据分别叫左操作数和右操作数,右操作数可以是表达式,也可以是一个常量,不需要加括号,系统会自动按优先级进行先后运算。如 x a b c 就相当于 x x a b c 相类似的运算符还有很多,如 等 2楼 秋...