Login
Sign Up For Free
English
中文 (繁體)
中文 (香港)
中文 (简体)
日本語
Filipino
Bahasa Indonesia
Bahasa Melayu
Pусский
Português (Brasil)
Magyar
Français
Español
Deutsch
Čeština
العربية
Català
Dansk
Ελληνικά
فارسی
Suomi
Gaeilge
Hindi
עברית
Hrvatski
Italiano
Norsk bokmål
Nederlands
한국어
Polski
Română
Slovenský
Svenska
Türkçe
українська
беларуская
ไทย
Standard view
綠柚子
說
14 years ago
int a=5, b=0, c=6;a=(a = b )&&(c = b );那a,b,c最後的值是多少!?
latest #52
烏龜烏龜夜
說
14 years ago
=
烏龜烏龜夜
說
14 years ago
a=1; b=0; c=0;
Gelion
說
14 years ago
同上 1,0,0
立即下載
河馬泉
說
14 years ago
為什麼 0 && 0 會等於1?
烏龜烏龜夜
說
14 years ago
assign的結果是1
河馬泉
說
14 years ago
好吧~其實以前看書上寫的 && 和 || 這兩個運算子~就不太了解意思了
河馬泉
說
14 years ago
搞不清楚和 & |的差異
Gelion
說
14 years ago
and or的觀念可以看真值表
en.wikipedia.org/wiki/Tr...
Gelion
說
14 years ago
驚 我用Mac跟sparc工作站跑出來的結果都是0 0 6
Gelion
說
14 years ago
想不出那個環節可以讓c=6....
烏龜烏龜夜
說
14 years ago
Gelion
: XD 我來試試VC好了
烏龜烏龜夜
說
14 years ago
VC也是0 0 6 XD
Gelion
說
14 years ago
why!!
Gelion
說
14 years ago
按照operator precedence來說 這三者 () priority 最高 即使=最低 可是因為在()內 也會優先執行才是 而&&的順序是LtoR 應該會是 1. (a=
2. (c=
3. (a=
&&(c=
4.才是a=... 不懂....
Gelion
說
14 years ago
棍 一堆墨鏡人是怎樣....
烏龜烏龜夜
說
14 years ago
XDD
河馬泉
說
14 years ago
用DEV C 跑出來也是 0 0 6
大耀耀
說
14 years ago
河馬泉
說
14 years ago
謎之聲:這就是大自然神秘的力量啊
烏龜烏龜夜
說
14 years ago
Gelion
: &&是L2R沒問題,可是assign完結果是0的樣子
大耀耀
說
14 years ago
你們把assign的值改用function, 然後逐步debug, 會發現他只會做第一個assign op (a = b ), 至於為什麼我也不知道, 也許是 compiler 的 bug?
綠柚子
說
14 years ago
我 的答案也006
綠柚子
說
14 years ago
所以才想說是不是答案是錯的,就想問問大家
大耀耀
說
14 years ago
a = ( a = f(b ) ) && ( c = f(b ) ) && ( b = f(a ) ); 只會跑進一次f(x), 後面完全沒跑過
烏龜烏龜夜
說
14 years ago
pychang
: 推實驗精神XD
大耀耀
說
14 years ago
kuoweili
: 這樣才會知道問題點在哪阿 XDDD
Gelion
說
14 years ago
but.... why??
大耀耀
說
14 years ago
我剛剛看了一下optimize後的asm code大概了解了,它對AND有做最佳化,由左至右只要遇到false後面就不做直接jump,回傳false
大耀耀
說
14 years ago
int a=5, b=0, c=6, d=9; a = ( a = 3 ) && ( c = b ) && ( b = d ); 結果 0 0 0 9 得證~
綠柚子
說
14 years ago
pychang
:
烏龜烏龜夜
說
14 years ago
pychang
: 所以是compiler最佳化動的手腳XD
謙2011
說
14 years ago
原來是最佳化搞的鬼
大耀耀
說
14 years ago
只能說柚子的寫法太特別了 最佳化的人沒想到有人會這樣寫 XDDD
河馬泉
說
14 years ago
好深奧~
Gelion
說
14 years ago
這樣說來 如果沒有最佳化 答案應該是0 0 0 我上面寫 1 0 0 是錯的
大耀耀
說
14 years ago
恩 沒最佳化的答案是0 0 0
大耀耀
說
14 years ago
算問題滿tricky的, 反正我值夜班也很無聊就順便研究看看它產生的asm code XDDD
謙2011
說
14 years ago
我有想過要看asm code可是不知道怎麼弄
謙2011
說
14 years ago
值班電腦裡面有裝IDE? 驚
河馬泉
說
14 years ago
asm code是啥?
烏龜烏龜夜
說
14 years ago
trustn01
: gcc就可以看了
烏龜烏龜夜
說
14 years ago
Senct
: 組合語言
大耀耀
說
14 years ago
VC很方便,先跑到一個斷點,右鍵->移至反組譯碼, 就看到了 每個指令還可以再設中斷
大耀耀
說
14 years ago
Senct
: 組合語言 assembly code
大耀耀
說
14 years ago
trustn01
: 越接近核心的人事物越黑; 我都出現在這了, 還有什麼事比這還驚訝的 XD
河馬泉
說
14 years ago
組合語言!!!
烏龜烏龜夜
說
14 years ago
pychang
: XDDD
謙2011
說
14 years ago
pychang
: 還有這一招 受教了
河馬泉
說
14 years ago
Gelion
說
14 years ago
我猜這不是柚子的程式碼 應該是某個地方轉來的題目...這種coding的思維太特別了....
綠柚子
說
14 years ago
Gelion
: 沒錯XD
B_Wing
說
14 years ago
這是大家來找碴 資工版 XD
back to top
delete
reply
edit
cancel
cancel