【时时三省】(C语言基础)选择结构的嵌套
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省
在if语句中又包含一个或多个if语句称为if语句的嵌套。其一般形式如下:
应当注意if与else的配对关系。else总是与它上面的最近的未配对的if配对。
假如写成
if ( )
if ( ) 语句1
else
if ( )语句2
else 语句3
程序者把else写在与第1个if(外层if)同一列上,意图是使else与第1个if对应,但实际上else是与第2个if配对,因为它们相距最近。为了避免二义性的混淆,最好使内嵌if语句也包含else部分(如本节开头列出的形式),这样if的数目和else的数目相同,从内层到外层一一对应,不致出错。
如果if与else的数目不一样,为实现程序设计者的思想,可以加花括号来确定配对关系。例如:
if ()
{
if () 语句1
}
else 语句2
这时“{}”限定了内嵌if语句的范围,因此else与第一个if配对。
注意:为了使程序清晰、易读,写程序时对选择结构和循环结构应采用锯齿形的缩进形式,如本书例题所示那样。