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