大家好
小弟想請教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呢
似乎跟前面查到的解就有所不同
不好意思問題有點多