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

问题描述:

求问,a在第一个if和else if两个判断都不满足时,不是应该执行最后else
 求问,a在第一个if和else if两个判断都不满足时,不是应该执行最后else语句吗?为什么答案讲的是在else if 也不满足时,第二个if和 最后的else两句都要跳过,结果是不变呢?求详解
1个回答 分类:综合 2014-09-22

问题解答:

我来补答
#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);
}
*/

 
 
展开全文阅读
剩余:2000
下一页:格子里面填一下