在ASCII码表里NULL的二进制位0。所以NULL作为判断条件时,表示为假的意思。
ASCII表
#include<stdio.h> void main(void) { int rc; rc = -1; if(!NULL) { printf("!NULL enter "); } printf("!rc=%d, rc=%d ",!rc,rc); }
运行结果
!NULL enter !rc=0, rc=-1
参考:
[1] ASCII表