如果if语句后面的执行语句中又出现了if语句时,这就是if语句的嵌套使用。
其一般形式可表示如下
if(表达式)
if语句;
或者为
if(表达式)
if语句;
else
if语句;
嵌套部分内容可能是if语句,也有可能是if-else类型的语句,当然也可能出现很多个if和else重叠的情况,在这时,我们需要特别注意if和else的配对使用问题,自己的脑中要清晰地知道程序代码中后面的else语句是相应前面的哪个if语句。
下面我们来看一个例子:
if(表达式1)
if(表达式2)(www.xing528.com)
语句1;
else
语句2;
大家看了以上的if程序结构后,想一想,其中的else究竟是与哪一个if配对呢?是与表达式1配对,还是与表达式2配对呢?
或许你有可能将其理解成这样:
也许你也有可能理解成这样:
那么究竟哪种理解才是对的呢?为了避免这种二义性情况,C语言规定,程序中的else语句总是与它前面最近的if相配对,因此对上述例子前一种情况理解是正确的。
【例4-4】比较两个数的大小关系。
例4-4中用了if语句的嵌套结构。采用嵌套结构的目的是为了进行多分支选择,即两个数字比较大小,将会有3种情况出现,x>y、x<y或x=y。当x不等于y的条件满足时,再去执行(x>y)的if条件表达式。
【例4-5】计算函数
这是由if else语句组成的嵌套,用来实现多个条件分支,使用时应注意if和else的配对使用,要是缺了一半编译器就会报语法出错,else语句总是与最近的if语句相配对。一般条件语句用于单一条件或少量的分支数,如果是数量多的分支时,则更多的会用到开关语句——SWITCH语句。如果使用条件语句来编写超过3个以上的分支程序的话,会使程序变得不太清晰易读。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。