求问,a在第一个if和else if两个判断都不满足时,不是应该执行最后else
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/16 17:23:32
求问,a在第一个if和else if两个判断都不满足时,不是应该执行最后else
求问,a在第一个if和else if两个判断都不满足时,不是应该执行最后else语句吗?为什么答案讲的是在else if 也不满足时,第二个if和 最后的else两句都要跳过,结果是不变呢?求详解
求问,a在第一个if和else if两个判断都不满足时,不是应该执行最后else语句吗?为什么答案讲的是在else if 也不满足时,第二个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);
}
*/
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);
}
*/
对于if else语句 所给的值不满足if的判断条件,那么会执行else 后的语句.如果所给的值在不满足if
if(){}else if(){}else if(){}else {}最后写else而不是else if结尾int a;
执行了if就不再判断后面的else
晕死了 不能连续用if 第二个if应该改为else if; 后面如需要判断也是用else if.
else if和if,都知道else总和最近不带else的if想结合,那else if和if是怎么相结合的呢?
if else 和 if if 的区别
多个if语句和else if有什么区别?
C语言的分支语句中,if()...if()...else...和if()...else if()...else...两者
if...else if.else if.else if.的用法是什么
使用if-else if-else时编译器报错
if else if else 的用法
问一个if else语句的问题