if语句里!a是什么意思,要怎么解

#include <stdio.h>
int main()
{
int a=1,b=1,c=1,d;
d=3;
if(!a)
d++;
else
if(!b)
d--;
if(c)
d=5;
else
d=6;
printf("%d\n",d);
return 0;

C语言中,0表示‘假’,1表示‘真’
感叹号表示 ‘非’,逻辑运算的一种,运算对象是真或假
这里!a,a=1表示真,那么非a表示假
可以看做 if(a==0)

if(a) a为0是假,不为0是真。

!a 中 !代表 逻辑运算符 非操作 = =》 a值 为 任意非零数值时 !a 必清零 必为 {NULL, 空,零}
a 值 为 零 时 !a 值 为1