c++中x y z是什么意思,C++中z = x>y ? x : y;是什么意思

2020-12-02 13:49:16 字数 4841 阅读 8328

1楼:匿名用户

= 赋值号

== 比较运算符

根据c++运算符优先级。

相当于x=(y==z)

c++中z = x>y ? x : y;是什么意思

2楼:匿名用户

? :是三元运算符,整个表达式根据条件返回不同的值,如果x>y为真则返回x,如果为假则返回y,之后=赋值给z。相当于:

if(x>y)

z=x;

else

z=y;

3楼:森林式大学

固定的表达,就是把x、y中较大的附给z,谢谢、

至于为什么是这样表达,有待你的品味,好好学c ,努力吧!

4楼:

如果x>y为真, x>y ? x : y;的表达式值为x,如果为假, x>y ? x : y;表达式值为y

5楼:匿名用户

就是比较x和y的大小z是其中大的那个。。

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

6楼:匿名用户

y==z 判断 y 等于 z,结果为真或假,即 1 或 0

所以 x=1或0

7楼:匿名用户

==是等于运算符=是赋值运算符

==的优先级比=高

所以先算y==z即x=(y==z)

当y==z时式子为true 在c语言中bool值和int值可以转换 即为1

当y!=z时式子为false 即为0

8楼:匿名用户

x、y和z相等

如果是整数表示大小一样;如果是字符表示同一个字符;如果是指针表示指向同一个地址

9楼:匿名用户

==优先级高于=,如果y=z,则x=1,否则x=0

10楼:匿名用户

y等于z,再把y的值赋予x

”x*=y==z=5;”,这句语句在c++的含义是啥呀!详细的加分!!

11楼:匿名用户

其实我也不是太确定,所以在vs2008里运行一下,结果在c++里面运行会出错。实际编成中根本不可能出现这样复杂的语句。所谓一行**做一件事情,这才是程序员所提倡的。

这样写出来的**易读性才比较高。

另外简单解释一下,c++中 ==运算符优先级是高于=和*=的。

一般的编译起都是自右向左结合,但是少数编译器是从左向右运算的。

这是我所知道的,剩下的就交给编译器来做吧,如果编译器都没法通过,那这语句可以不用解释了。

12楼:mis_丫

自右向左结合

先是z=5,把5赋给z,返回1(成功)

然后y==1 判断y 等不等于1

然后x *= 就是x =x * 上面的结果

13楼:喜欢嫣然

这是一个非法语句,因为按运算符的优先级别分解如下:

(1).y==z,若成立,则值为1,否则为0;

(2).*=与=是同级别的故按这级别的结合方向应从右到左,先把5赋给(1)中的1或0,在c++中将常数赋给常数是不合法的,故整句非法.

(3)若(2)中合法运算*=,即x=x*(2)中的结果.

14楼:

会出错,x*=没问题

y==z=5 由于==的优先级高于赋值号

所以变成给表达式y==z赋值为5,y==z 是一个常量1,或0 不是左值不能赋值。

c++中copychars是什么意思

15楼:育知同创教育

copychars是字符拷贝的意思。。

使用方法:

c******string str(_t("******************x"), 20, pmgr);

tchar* pszsrc = _t("hello world!");

_tprintf_s(_t("%s\n"), str);

str.copychars(str.getbuffer(), pszsrc, 12);

_tprintf_s(_t("%s\n"), str);

c++中x=y==z怎么算

16楼:匿名用户

先做y==z这个比较,会有一个true或false的值再把这个值赋给x

也就是x=(y==z)

具体的c++操作符优先级可以搜一下。

c语言中x*=y=z=4什么意思?

17楼:匿名用户

等价于x=x*(y=z=4),4赋值给z,z=4这个赋值表达式的值是4,再赋值给y,括号中表达式值是4,与x值相乘的结果再赋值给x

c语言中x*=(y==(z=4))是什么意思其中y等于0

18楼:匿名用户

先赋值 z=4

然后 判断 y==z 由于y为0, z为4, 所以这个判断不成立值为假 也就是0

最后一步就是

x*=0 也就是 x=x*0=0

于是 执行后

x=0y=0z=4

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

19楼:南瓜苹果

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

相当于:

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

20楼:尤永修喻辰

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

!高于》

先求!z

也就是表达式

的逻辑取反

z非01!z

=0;z=0则!z=1

然后判断y的值

是否大于!z

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

这样写的不好处在于

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

(假定xyz是int之类)

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

21楼:玩转困难

这句话的意思是:

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

?在这里起判断作用。

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

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

22楼:依夏青兰晨

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

23楼:愈升荣其寒

先求!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的值。

24楼:郯媛女秦丁

先取z的否定

判断一是否大于z的否定

再加上x的值

!zz的否定

当z为非0值时

!z=0

z为0时

!z=1

所以最后的值

就是x+0

或者x+1

25楼:张简元芹是群

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

否则则为0

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

26楼:匿名用户

?:是个三元运算符

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

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

27楼:匿名用户

相当于:

if x>y

z=x;

else

z=y;

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

28楼:匿名用户

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

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

29楼:匿名用户

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

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

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

1楼 三天打鱼 x 1y 3 z 5z y 条件成立 返回1 然后用返回的值跟后面的x比较 1 x 条件不成立 返回0 所以结果是0 要合并两个逻辑 应该用 与运算符 写为 z y y x 2楼 现实梦幻者 这是真假判断 先z y 5 3为真,结果是1 再 1 x 为假,结果是0 c语言中z x y...

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

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楼 峰回路转 三元运算符。 首...

直线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,然后进行判断。 ...