C笔记6——流程控制(顺序+选择)_2

没有梦想的人生是苍白的人生,把白日梦当成梦想的人生则是愚蠢的人生。

if的常见问题解析

1:空语句问题

# include <stdio.h>
int main(void)
{
	if( 3 > 2 ) ;
	//等价于
	if ( 3 > 2 )
		;  //这是一个空语句
	return 0;
}

举例子:

# include <stdio.h>
int main(void)
{
	if ( 1 > 2 )  ;	//我们都知道1大于2是不可能的情况,请注意此行分号
		printf("AAAA,");
	printf("BBBB");
 	return 0;
}

输出结果:AAAA,BBBB
程序也不会报错,为什么呢?因为程序执行的时候,会在分号 ; 那里认为是一个空语句。
也就是说,如果if成立,那么执行空语句。
2:if常见错误解析(重点)

# include <stdio.h>
int main(void)
{
	if ( 3 > 2 ) ;
		printf("哈哈!\n");
	else
		printf("嘿嘿!\n");
		
	return 0;
}

上面这个程序是错误的,为什么呢?在该程序中,总的有4个语句。
而在以else开头的那个语句是有错误的,因为在C语言中是没有以else开头的这种语法。
在这里插入图片描述

# include <stdio.h>
int main(void)
{
	if ( 3 > 2 )
		printf("AAAA\n");
	else if ( 3  > 1 )
		printf("BBBB\n");
	else
		printf("CCCC\n");
		
 	return 0;
}

在上面这个程序中,最终的值是AAAA,虽说后面的3>1也满足条件,但是当3>2满足条件后,该if语句就会终止,后面的语句是不会在执行的.

在这里插入图片描述
在这里插入图片描述

既然7行要写表达式,就要写if。

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值