有以下程序: #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/