C语言-if else 语句嵌套的匹配原则

if else语句的嵌套
if(表达式1)
	if(表达式2)
	语句1;
	else
	语句2;
else 
语句3;

C 语言规定了 if和else的就近匹配原则,即else和它上面的最近的没有配对的if配对,与书写格式无关
实例:

#include<stdio.h>
#include<process.h>
int main(void)
{
	int score;
	printf("请输入分数:");
	scanf("%d",&score);
	if(score>=60)
		printf("及格\n");
		if(score>90)
			printf("优秀\n");
	else
	printf("不及格\n");
	system("pause");
}

打印结果:
不及格

分析原因:
else与离它最近的没有配对的if(score>=90)配对。

如何纠正:

#include<stdio.h>
#include<process.h>
int main(void)
{
	int score;
	printf("请输入分数:");
	scanf("%d",&score);
	if(score>=60)
	{
		printf("及格\n");
		if(score>90)
			printf("优秀\n");
	}
	else
	printf("不及格\n");
	system("pause");
}

打印结果:
在这里插入图片描述
分析原因:
添加{}后,else与第一个if配对。

  • 38
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值