※ 引述《HuangJC (吹笛牧童)》之銘言:
: 哥的第二篇肺文就在這裡好了
: 那時有 if .. then, 但並沒說 true 是 1
: 總之,我在 qbasic 下,記得是可把以 true false 變成數字了
: 但是,true 是 -1
: XDDDDDD
: 誰跟你說 true 一定是 1
: 在 C,可能會說,只要不是 0 就是 true
: ( 所以 true 和 false 的機率不一樣大啊~)
: 但在那個 basic (因為我不記得是不是 qbasic 了,所以就說得含糊點好了)
: 是認為,false 是 00000000 ,二進位
: true 是 11111111 , 二進位
: 全是 1,在 signed 數字系統裡,是 -1 沒錯
: (對了,在 unsigned 系統裡,它是 255,這很糟糕
: 但如果 true 是 -1, 那一切都會在你意料之外,對吧~
C 在 prepocessor 可以 #define TRUE <what number you like>
另外, TRUE/FALSE 值常跟 success/fail 的傳回值搞混
Python 2.x 你也可以修改 TRUE/FALSE 的預設值
: 記得在一本書,提到怎麼減少程式設計的 bug 裡有提到
: 不要寫這種程式,因為有風險,有可攜性的問題
C 真正的 portable 來自於它的 I/O & Math operator 與 compiler 分離,
這些操作透過呼叫 stdio.h、stdlib.h ...等在 link 時載入相關 libary 達成,
使得原始碼在不同 CPU、OS 上 cmopile 時
不會遇到因為 compiler 實作不同莫名其妙 gg 而查不出原因的狀況.
: