刚才在和anqing在讨论一段代码的时候,无意中发现了if……else……语句的一个特点,特发出来,以期引起大家的注意,以免在写代码的时候走弯路:
我们知道,if语句在判断多个条件是否成立的时候,可以用 if 条件 if 条件……命令 的格式,但是,如果要用 if 条件 if 条件……(命令) else (命令) 的格式,你可能觉得没什么问题吧?
实际上,红色部分的语句是错误的,此时if语句执行情况如下:
1、如果if条件都成立,else之前的命令可以正确执行;
2、如果if中某些条件不成立:
a) 如果最后一个条件不成立,其他条件都成立,那么,else之后的命令能正确执行;
b) 如果最后一个条件成立,其他条件中有一个不成立,else之后的命令将不会执行。(本条有错误,请看6F和7F的分析)
[ Last edited by namejm on 2006-11-1 at 08:59 PM ]
我们知道,if语句在判断多个条件是否成立的时候,可以用 if 条件 if 条件……命令 的格式,但是,如果要用 if 条件 if 条件……(命令) else (命令) 的格式,你可能觉得没什么问题吧?
实际上,红色部分的语句是错误的,此时if语句执行情况如下:
1、如果if条件都成立,else之前的命令可以正确执行;
2、如果if中某些条件不成立:
a) 如果最后一个条件不成立,其他条件都成立,那么,else之后的命令能正确执行;
b) 如果最后一个条件成立,其他条件中有一个不成立,else之后的命令将不会执行。(本条有错误,请看6F和7F的分析)
[ Last edited by namejm on 2006-11-1 at 08:59 PM ]
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
考虑问题复杂化,解决问题简洁化。
