已知int x=6,y,z;,执行语句y=z=x,x=y==z,后,变量x的值是多少?为什么
发布网友
发布时间:2023-09-29 19:12
我来回答
共3个回答
热心网友
时间:2024-12-09 06:31
x值为1。
执行语句y=z=x,y和z都被赋值6,再执行语句x=y==z,因为y和z的值相等,为真,所以表达式y==z的值为1,所以x值为1。
热心网友
时间:2024-12-09 06:31
y=z=x;
是赋值语句,从右到左,先让
z
得
到
x
的初值
6,再让
y
得到
6.
这时
,
x=6,y=6,z=6.
x
=
y==z;
这个赋值语句
可写成
x
=
(y==z);
这里
y==z
是
逻辑表达式,判断
y和
z
是相等还是不等,
相等
则为
真,不等则为
假。由于相等,所以得真,真就是1
(假是0),于是把
1
赋给
x.
故
结果
x
为
1。
热心网友
时间:2024-12-09 06:32
x
=
1
首先
int
x=6,y,z;
//
这句话
x=
6
y
=
z
=x;
//x
=
6
y
=
6
z
=
6
x
=
y
==
z
//这句话
因为
==
的优先级
大于
=
的优先级
因此
先进行比较
//
y
==
z
为真
即为1
再将
1
赋给
x
因此
x
=
1