问到C++的题目,若有x=1,y=2,z=3,则表达式(x<y?x:y)==z++的值是? 还有,= 和 ==的区别是什么?

如题所述

(x<y?x:y)==z++值是false
= 是赋值操作符
比如定义一个变量 int x; 则x值是未被赋值的,x有可能是任何值。
x=0就将0赋值给x,意味着变量x的值是0。
== 是判断两个值是否相等 如x=1, y=2,则x==y即为1==2,为false
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-16
c/c++语言中,‘=’是赋值运算符,既将等号右边的值赋给等号左边的变量。等号左边是定义的变量,右边是要赋予变量的具体值。
‘=’的运算顺序是自右向左,A=B=C就是先算B=C,再算A=B,既A=(B=C)。
第2个回答  2011-06-16
false
=是指赋值,相当于pascal中的:=
如:a=3,则a就变成3了
而==就是我们平常说的=,如3==4是false,3==3是true
第3个回答  2011-06-16
=是赋值,而==是真正的等于

问到C++的题目,若有x=1,y=2,z=3,则表达式(x<y?x:y)==z++的值是...
(x<y?x:y)==z++值是false = 是赋值操作符 比如定义一个变量 int x; 则x值是未被赋值的,x有可能是任何值。x=0就将0赋值给x,意味着变量x的值是0。== 是判断两个值是否相等 如x=1, y=2,则x==y即为1==2,为false

若有x=1,y=2,z=3,则表达式(x<y?x:y)==z++的值是_
(x<y?x:y)==z++的值是:x<y?x:y 是三元运算 ,值为:1;而z==3;所以1!=3;所以结果为false!!!

若有x = 1,y = 2,z = 3,则表达式(x < y x :y)= = z++的值是多少
答案为0 这是逻辑运算 x=表达式1?表达式2:表达式3 其意义是:先求解表达式1,若为非0(真),则求解表达式2,将表达式2的值赋给x.若表达式1的值为0(假),则求解表达式3,将表达式3的值赋给x 顺序由右到左的逻辑运算 所以 X

C++初步问题 x=1; y=2; z=3; x+=y+=z; cout<<( z+=x>y?x++:y++)<<e...
( z+=x>y?x++:y++),首先判断x是否大于y,如果大于则x++,然后输出z+x;若果小于则y++,输出z+y;所以结果应该是9

C语言中 int x=1,y=2,z=3;则z+=x>y?++x:++y 的值为多少?为什么? 求大...
答案应该是6.因为先进行x>y?这个判断,而x>y为假,所以z+=++y,++y的值是3,所以z+=3,本来z=3,所以z的值为6

设x=1,y=2,z=3;则执行表达式 a = ++x || ++y && ++z 后a的值为: x的...
真正编程中要避免这样写 作为出题难为人可以这样做,虽然没什么意义 答案是x = 2 y=2 z=3 因为第一个运算符是|| 而一旦||左边的值为真,则其余部分将不被计算,因为不会影响最终的结果

设int型变量x = 1 , y = 2 , z = 3,则表达式 y+=z--\/x++ 的值是
是3 表达式为y=y+z--\/++x 先计算z--为3,在计算++x为2,然后计算z--\/++x 这时候z--值为2,所以z--\/++x为1,再加y,最终结果是3

...x=1, y=2, z=3; if(x>y) if(y<z) printf("%d", ++z); else printf...
结果是1 if(y<x)不成立,不执行下面。直接执行else printf(“%d,x++),所以结果为1

int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是?
表达式z+=x>y?++x:++y等价于z=z+(x>y?++x:++y).变量赋值后即为z=3+(1>2?++1:++2),1)由于1>2为假(即表达式结果为0),因此返回表达式++y;2)执行++y.++y是先对y变量执行自加,在返回自加后结果,即为3(即为(x>y?++x:++y)的结果).3)执行z+=.将(x>y?++x:++y)结果带入...

...x=1,y=2,z=3;执行下列程序后,输出结果是if(x>y)z=x,x=y,y=z;pri...
if(x > y)后面如果没有{}的话,他能管紧挨着他的一条语句,z = x;这条语句是在归if管的,相当于 if(x > y) { z = x;} x = y;y = z;

相似回答