if语句在C语言中的使用

本文详细介绍了C语言中if语句的基本用法,包括控制单条或多条语句、else的使用、嵌套以及避免悬空else的问题。强调了代码规范在理解和实现中的重要性。
摘要由CSDN通过智能技术生成

if语句在C语言中是常用且重要的语句,下面来记录一下if语句的一些用法和注意事项

1.if 和else默认都只控制一条语句

比如下面的代码

输入为15,执行的结果应该为未成年,然而实际两句话都打印了,这是因为if语句都只能控制一条语句,则是printf("未成年,......")

printf("成年了,......")是独立存在的,不管if语句的条件真假都会执行。如果想用if语句控制多条语句,要用{}将代码括起来。

2.else可以 与另一个if连用,构成多重判断。

  1. int main()
    {
    	int i = 0;
    	scanf("%d", &i);
    	if (i>0&&i <= 18)
    	{
    		printf("未成年,不能恋爱\n");
    		
    	}
    	if (i > 18)
    	{
    		printf("成年了!");
    		printf("可以交女朋友了\n");
    	}
    	else {
    		printf("输入错误!");
    	}
    
    	return 0;
    
    }

    3.if的嵌套 4.悬空else的问题  else总是跟最接近的if匹配。下面代码示例

    int main()
    {
    	int a = 0;
    	int b = 5;
    	int c = 9;
    	if (a == 1)
    		if (b == 5)
    			printf("haha\n");
    	else
    		printf("lala\n");
    	return 0;
    }

    很多人会认为这段代码的执行结果是lala,其实不是,正确的格式是这样的

    int main()
    {
    	int a = 0;
    	int b = 5;
    	int c = 9;
    	if (a == 1)
    		if (b == 5)
    			printf("haha\n");
    	    else
    		    printf("lala\n");
    	return 0;
    }
    

    正确答案是,什么都不输出。如果想要避免这类问题,最好的办法是日常中代码格式规范。也可以在第一个if后面加{},这样阅读代码时会容易看出来

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值