真假邏輯
真假邏輯顧名思義有真值(true)以及假值(false)。在C語言中,只有零代表假(false),其他非零數都代表真(true)。但在正常運算中,以1代表真。
相等運算
相等運算有兩種,分別是等於運算子(==)以及不等於運算子(!=)
指派運算子(=)「不是」等於運算子(==)
在運算中,如果關係成立,得到真值(1);若不成立,得到假值(0)。
例如
例如
#include <stdio.h>
int main() {
printf("%d, %d, %d\n", 3==2, 4!=6, (1+4)==(3+5));
return 0;
}
執行結果
0, 1, 0
比較運算
比較運算有四種,分別是大於(>)、小於(<)、大於或等於(>=)、小於或等於(<=)。在運算中,若關係成立,得到真值(1);如果不成立,得到假值(0)。
#include <stdio.h>
int main() {
printf("%d, %d, %d\n", 4>5, 6<=7, 8 < 9);
return 0;
}
結果
0, 1, 1
常見誤解
假如還記得數學中有個遞移律的話,有些人可能會寫出
if (3>2>1) {
...
}
這樣可是會出問題的!我們看看電腦怎麼判斷這個運算。首先因為比較運算是由左而右,所以會先計算「3>2」,得到真,但是依照我們前面所敘述,真其實就是1,所以整個程式就會變成
if (1>1) {
...
}
很顯然這是錯誤的,所以一定要注意。
很多數學直覺在電腦上不適用
至於要怎麼解決呢?我們以後的邏輯運算可以處裡這類問題。
👉【幫我們一個忙!】👈
👋如果您喜歡這篇文章,請在下方按5個Like!
❤您的支持是我們最大的動力!
您只要登入帳號(Facebook、Google),在下方按5個Like,我們就會收到來自LikeCoin基金會的贊助。
您只需要支持我們,完全不會花到錢!