|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
main(){
int x=1,y=0;
if(!x) y++;
else if(x==0)
if(x) y+=2;
else y+=3;
printf("%d",y);
}
这段代码中 y结果为0 执行(x==0)判断后 为什么下面的代码不执行了 他也没有使用{}啊
本帖最后由 andy大宝 于 2022-3-24 14:35 编辑
研究了一下,明白您的意思了,解答下。
else if后面是一定要跟一段语句的,作为条件成立时执行的代码,基本原理如下:
- #include<stdio.h>
- main(){
- int x=1,y=0;
- if(!x) y++;
- else if(x==0) //对x==0进行判断,条件为false
- if(x) y+=2; //因为上一次条件判断已经为false,且这里默认为else if的语句,所以不执行
- else y+=3; //这里的else匹配前面的if,所以也不执行
- printf("%d",y);
- system("pause");
- }
复制代码
如果后面跟了语句,以上条件就会被判断:
- #include<stdio.h>
- main(){
- int x=1,y=0;
- if(!x) y++;
- else if(x==0)
- printf("我是一条关于else if条件的语句");
- if(x) y+=2; //这里的两行判断被单独执行
- else y+=3;
- printf("%d",y);
- system("pause");
- }
复制代码
|
|