大家好
小弟想请教100年的中华电信 程式设计与数据库里面的题目
其中程式码如下
int a=5, b=0, c=6;
a = (a = b)&&(c = b);
问最后abc值为何
最后得结果为a=0 b=0 c=6
找到的解答理由是第二行的后面并不会真正改变a和c的值
然后第二行后面两个等号看做比较的意思
所以a=false && false => 0
但后来小弟做了两个测试
就跑出了新的疑问
希望有前辈能指引
1.
int x=2,y=4,z=6;
x= (y=z);
为何最后x y z皆为6
是否跟题目的状况有什么不同呢
2.
若把题目改成
int a=5, b=1, c=6;
a = (a = b)&&(c = b);
为何最后输出结果却是a=1 b=1 c=1呢
似乎跟前面查到的解就有所不同
不好意思问题有点多