作业帮 > 综合 > 作业

求问,a在第一个if和else if两个判断都不满足时,不是应该执行最后else

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/01 00:32:27
求问,a在第一个if和else if两个判断都不满足时,不是应该执行最后else
 求问,a在第一个if和else if两个判断都不满足时,不是应该执行最后else语句吗?为什么答案讲的是在else if 也不满足时,第二个if和 最后的else两句都要跳过,结果是不变呢?求详解
求问,a在第一个if和else if两个判断都不满足时,不是应该执行最后else
#include<stdio.h>
void main()
{
int a=1,b=0;
if(!a)//a=1;!a=false不执行,b=0
b++;
else//执行
if(a==0)//a!=0后面都是if的块,所以后面都不执行
if(a) b+=2;
else b+=3;
printf("%d\n",b);
}
//改成以下语句看的更清楚
//if因为不加括号只执行紧随其后的一句代码,而if/else 
//结构是一句话
//所以加花括号是好习惯,缩进也是好习惯.
/*
#include<stdio.h>
void main()
{
int a=1,b=0;
if(!a)//a=1;!a=false不执行b=0
{
\x05b++;
}
else//执行
{
\x05if(a==0)//a!=0后面都是if的块,所以后面都不执行
\x05{
\x05\x05if(a) 
\x05\x05{
\x05\x05\x05b+=2;
\x05\x05}
\x05\x05else
\x05\x05{
\x05\x05\x05b+=3;
\x05\x05}
\x05}
 }
printf("%d\n",b);
}
*/