Re: [問題] 請教如何只用x,y兩變數來交換彼此數值
※ 引述《sjgau (sjgau)》之銘言:
: int a, b;
: a= 123; b= 456;
: a^= b^= a^= b;
: // 只要 一行指令,不需要使用第三個變數,
: 即可達到 目的。
: 請問:為什麼?
: ※ 引述《ballgi (環給一個幸福)》之銘言:
: : 不好意思,我想請教一個問題
: : x=1
: : y=2
: : 如果不用第三個變數就能轉換彼此的數值為
: : x=2
: : y=1
: : 我不知道可以這樣作耶,請問誰能指導我,謝謝
: : 在此感謝鄉民提供的智慧
當 a == b 時, a ^ b ===> 0, 會把這局破掉.
所以起碼應該寫成:
a == b? 1 : (a ^= b ^= a ^= b);
--
/yau
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.227.202
推
04/11 21:06, , 1F
04/11 21:06, 1F
推
04/11 21:07, , 2F
04/11 21:07, 2F
→
04/11 21:09, , 3F
04/11 21:09, 3F
→
04/11 21:14, , 4F
04/11 21:14, 4F
推
04/11 21:17, , 5F
04/11 21:17, 5F
推
04/11 21:25, , 6F
04/11 21:25, 6F
→
04/11 21:44, , 7F
04/11 21:44, 7F
推
04/11 21:47, , 8F
04/11 21:47, 8F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):