分类: C/C++
2008-03-20 18:54:00
来源: 作者:antigloss 等级:精品
发布于2006-12-20 23:18 被读2688次 【字体: 】 |
正如我们在前面的教程中(如 )见到的那样,if 语句中可以嵌套 if 语句。例如: if ( condition1 ) for ( exp1; exp2; exp3 ) while ( condition7 ) do 如上例所示,if 语句中不止可以嵌套 if 语句,也可以嵌套循环语句;循环语句中也可以嵌套 if 语句。其实,我们前面说的 就是 if 语句嵌套。上例中,虽然 if ( condition2 ) 后面没必要加大括号,但我建议最好还是加上。加上大括号可以使代码的结构更加清晰,易于理解,特别是语句非常长的时候(如本例,if ( condition2 ) 后的语句非常长!)。此外,加大括号还有一个好处,就是如果我们以后需要添加更多语句到 if 之下时,就不用怕会忘记加大括号,因为大括号已经存在了。例如: if ( condition ) 当我们需要再加一句 printf("efg\n"); 到该 if 结构之下时,就不必担心会忘掉给它加上大括号,毕竟大括号已经存在了。 if ( condition ) 也许你会觉得,我怎么可能会忘掉加大括号呢?当然,对于上面这个简单的例子来说,你很可能不会犯这种低级错误。但假设 if 之下是一个非常长而复杂的 if 语句呢?就好像文章开头的那个例子那样,你就难保不会忘掉了吧!所以我推荐写 if 语句的时候顺便把大括号也写上,无论是否有必要。这个道理对循环语句同样成立。下面我们通过一个简单的例子学习 if 语句嵌套: /*-------------------------------------------------------------- if ( gender == MALE ) 其实这个例子的结构已经很清晰了,我想没必要详细讲吧。如果 gender == MALE 成立,则进入该 if 下的程序块(即复合语句),继续判断 age 的值,根据 age 的值选择要输出的内容;如果 gender == MALE 不成立,则执行 else 下的程序块。 参考资料:C Primer 5th Edition 本文版权归 以及 作者 antigloss 共同所有,转载请注明原作者和出处。谢谢。 |