!x=not x
!x在c語言語句裡面為一個運算,取非,也就是反意的意思,預設所有非0數為真,0為假,也就是說如果前提x為一個非0數,!x的結果就是0,如果x是0,結果就為1(預設值非0為1),而x!=0本身是一個判斷語句,如果x本身是0,x!=0不成立,則這個式子值為0表示式子不成立,x等於任意非0數則x!=0成立,式子值為1,!x在括號裡面作為判斷條件等價於x==0
以下為運算過程:
非運算(!)
參與運算的表示式為真時,結果為假;參與運算的表示式為假時,結果為真。例如:
!0
0 為假,非運算的結果為真,也就是 1。
!(5>0)
5>0 的結果是1,為真,非運算的結果為假,也就是 0。
輸出邏輯運算的結果:
#include <stdio.h>
int main(){
int a = 0, b = 10, c = -6;
int result_1 = a&&b, result_2 = c||0;
printf("%d, %d\n", result_1, !c);
printf("%d, %d\n", 9&&0, result_2);
printf("%d, %d\n", b||100, 0&&0);
return 0;
}
執行結果:
0, 0
0, 1
1, 0
!x=not x
!x在c語言語句裡面為一個運算,取非,也就是反意的意思,預設所有非0數為真,0為假,也就是說如果前提x為一個非0數,!x的結果就是0,如果x是0,結果就為1(預設值非0為1),而x!=0本身是一個判斷語句,如果x本身是0,x!=0不成立,則這個式子值為0表示式子不成立,x等於任意非0數則x!=0成立,式子值為1,!x在括號裡面作為判斷條件等價於x==0
以下為運算過程:
非運算(!)
參與運算的表示式為真時,結果為假;參與運算的表示式為假時,結果為真。例如:
!0
0 為假,非運算的結果為真,也就是 1。
!(5>0)
5>0 的結果是1,為真,非運算的結果為假,也就是 0。
輸出邏輯運算的結果:
#include <stdio.h>
int main(){
int a = 0, b = 10, c = -6;
int result_1 = a&&b, result_2 = c||0;
printf("%d, %d\n", result_1, !c);
printf("%d, %d\n", 9&&0, result_2);
printf("%d, %d\n", b||100, 0&&0);
return 0;
}
執行結果:
0, 0
0, 1
1, 0