C语言中 z=x==y 这个式子怎样理解

比如: main()
{ int x,y,z;
x=3;y=3;
z=x==y;
printf("z=%d\n",z);
}
以下程序的运行结果
这个运行结果z=1?? 为什么,答案给的1

这个式子的意思是这样z=(x==y);
由于x是3,y也是3,所以x==y是成立的,所以一般情况下,编译器会将一个非0值传递给z,而1是多数的情况,所以z应该是1
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-03-25
按照符号优先级做。==优先级大于=
所以显示x==y。如果x与y相等,它的结果是1,否则,结果是0.结果只能是0或者1.这里,它是1.
此时z=1,即z的值被赋成1.所以运行结果为1.
第2个回答  2009-03-25
这不是定义3个整型的数值x,y,z3个数中已知x和y都等于3然后输出z的数值,那个等式的意思就是把x(x和y相等)的值赋给z,运行结果输出z的值!
第3个回答  2009-03-25
(x==y)也是一个式子
当 x和y相等的时候结果是1,否则是0
所以 z=(x==y) 就是,当 x==y时 z=1,否则z=0

本例结果z=1

参考资料:某天才告诉我的

第4个回答  2009-03-25
==是比较运算符,当两端相等时其值为1否则为0,C语言是按从右到左执行的,所以输出为Z=1

C语言中 z=x==y 这个式子怎样理解
这个式子的意思是这样z=(x==y);由于x是3,y也是3,所以x==y是成立的,所以一般情况下,编译器会将一个非0值传递给z,而1是多数的情况,所以z应该是1

C语言中x=y==z是什么意思
所以先算y==z即x=(y==z)当y==z时式子为true 在c语言中bool值和int值可以转换 即为1 当y!=z时式子为false 即为0

C语言中z=x>y?x:y是什么意思?
?:称为条件运算符。?:就是表示?前的表达式的值是否为真,是的话取冒号前的值,否则取冒号后的值。相当于:if (x>y){z=x;} else {z=y;}

C语言中,能否存在 x=y=z=0?
可以,但是这样的语句不能出现在变量的定义中,必须x,y,z这三个变量已经完成定义 另外这个式子的赋值顺序是从右往左依次赋值的。

z=*x指针,不知道咋讲述这个式子?
z=*x:1、看到这个式子,最先想到的是:x是一个指针;2、再想到的是:z是一个变量;3、z的变量类型余*x的变量类型相同,如同是int型等,但并没有说明它们具体是什么类型;4、这是一个给变量z赋值的语句。用一句话说明这个式子的作用:把指针变量x指向地址上存放的数值,赋值给变量z。有什么问题...

if(x>y) z= x; x= y; y= z;
y=z;即第一个赋值语句不执行,由此建议编程时,if语句后面一定要写{},不能偷懒。if语句的一般形式如下:if(表达式)语句1 [else语句2]if语句中的“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式。其中最直观、最容易理解的是关系表达式。所谓关系表达式就是两个数值进行比较的式子。

C语言编程:x>=y&&x>=z?x:y>=x&&y>=z?y:z 怎样解释?
“>=” > “&&” > “?:”因此该表达式可以改写成:(x>=y)&&(x>=z)?x:(y>=x)&&y>=z?y:z 继续:((x>=y)&&(x>=z))? x : ((y>=x)&&y>=z) ? y : z 因此,题目的语义是:取x, y, z中的最大值。相当于:max(x, y, z)...

a=(x,y,z)在c语言中如何运算
(x,y,z)是逗号表达式,逗号表达式的值是最后一个算式的值,在这就是z,所以这个式子是将z的值赋值给a

初中数学:正整数x+y+z=100,求绝对值式子的最大值?
详情请查看视频回答

C语言中a=b,意思是说把b赋值给a,还是说把b里面的值赋值给a?
a=b, 是把b的指向赋值给a, 让a也可以指向b的指向,b的指向不变;比如 a=1 b=2 c=3,把b赋值给a 就是 a=b 因为b是等于2的 现在 a=b=2。把b值赋给a指的是把b的值代入a里,打个比方,a=b,而b=100,那么,在这个式子中,把b值赋给a就指的是a=b=100,也就是a=100。

相似回答
大家正在搜