C语言萌新问个问题,关于if,else的

有以下程序: #include<stdio.h> main() {int a=1,b=0; if(!a)b++: else if(a==0) if(a)b+=2; else b+=3: printf("%d\n",b); } 程序运行后的输出结果是( )。
这个结果是0
问下

当程序执行到else if(a==0) 判断时,为什么不继续向下执行了

如果问题得到解决,请点我回答左上角的采纳和向上的箭头,谢谢。

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

else和最近的if配对
所以
if(!a)
不成立进入else
if(a==0)
不成立
这个if没有else
所以什么也没有执行
b=0

如果不信,可以在线运行验证:
https://tool.lu/coderunner/