Re: [問題] Dev C的問題
※ 引述《lwkspy (平)》之銘言:
: 想請問下為什麼平方了,答案還是會有負數
: 就好像Z=(((x2-x1)^2)+((y2-y1)^2)) ,
: 他的答案出來後,有時會是負數的...
: 希望各位高手幫幫忙啦!謝謝
p 老師上課的時候說過,
"compiler 很笨,所以你要用 compiler 的話來和 compiler 溝通!"
因此,初學程式的新手一定要注意
你得用 compiler 懂的方式來表達喔
比方說 "^" 吧,雖然 compiler 沒叫說他看不懂,
可是 compiler 有可能因為跟你有語言隔閡而誤解你!
課堂上目前教過的 operators 只有:
+ - * / % = == != >= <= > <
如果你想要用其他的 operators,
就得先確定 compiler 對那些符號的定義跟你一樣。
其實除了上課教過的以外, C 還有其他的 operators,
其中有一類是可以把兩個變數做 bit 間的兩兩運算的,
"^" 就是屬於這種,它會對兩個變數的二進位碼做 bitwise XOR。
比方說
00110100 ^ 10011001 結果是會 10101101
然後電腦又根據用二進位存整數的規則把這串二進位碼「翻譯」成整數,
因此結果可能正好是某一個負數的二進位碼了。
--
n;main(i){return n?i<2?i:main(i-1)+main(i-2):
scanf("%d",&n)&&printf("%d\n",n>0?main(n):0);}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.54
※ 編輯: chhsiao 來自: 140.112.30.54 (09/29 00:31)
※ 編輯: chhsiao 來自: 140.112.30.54 (09/29 00:39)
推
09/29 00:37, , 1F
09/29 00:37, 1F
→
09/29 00:39, , 2F
09/29 00:39, 2F
→
09/29 00:39, , 3F
09/29 00:39, 3F
→
09/29 00:40, , 4F
09/29 00:40, 4F
→
09/29 00:43, , 5F
09/29 00:43, 5F
推
09/29 00:53, , 6F
09/29 00:53, 6F
推
09/29 01:02, , 7F
09/29 01:02, 7F
→
09/29 01:02, , 8F
09/29 01:02, 8F
討論串 (同標題文章)