#include <stdio.h> void main() { int a=1,b=0; if(!a) b++; else if(a==0)if(a)b+=2; else b+=3; printf

b);}为什么结果是0
2025-01-06 09:47:15
推荐回答(3个)
回答1:

#include
void main()
{
int a=1,b=0;
if(!a) b++;//!a的意思是a==0这里不成立
else if(a==0)//判断这里也不成立
{//是这么分段的,所以下面的都不做了,b没有变化
if(a)b+=2;
else b+=3;
}
printf("%d\n",b);
}

回答2:

else if(a==0)后面掉了分号,if(a)这一句没有运行,所以b的值没有变化。

回答3:

不对啊,这个满意答案我还是没看懂,他是把if(a==)后面加了花括号的在这不成立不是再继续判断else么??还是毛看懂。。。