else满足条件是if满足条件的否定,在我写代码的时候经常出现,if中的条件是用逻辑运算符&&,||等连接的。余下的条件想当然的使用else概括。最后运行的结果却是与预期不符的,这是由于(A∩B)’=A’∪B’… …相应的其他情况可以搜索德.摩根定律等其他逻辑运算定律。
条件过多(n1)的多选择(n2<<n1且n2条件也挺多)结构语句(比如编译原理中词法分析器程序对源程序进行单词种类识别中将单词分为:保留字,标识符,运算符,常数,界符。而其他的符号应该被识别为不符合词法构成的错误单词。),我们如果使用if-else语句可能会出现文章开头说的错误,从而使得词法分析程序出错。我的解决方法是:使用if-else(switch)语句解决的。结构如下,
if(条件1){……}
else{
switch(……){
条件2处理语句;
条件3处理语句;
……
条件n处理语句;
不满足以上的条件处理语句;
}
}
当然if-else if-else if-……-else也是可以的。
以上语句结构可以代入所举例子理解,或再举一个例子,对水果进行五分类:F1=苹果,F2=樱桃,F3=香蕉,F4=车厘子,F5=其他水果。
如果使用
if(苹果或樱桃或香蕉或车厘子),输出对应水果。
else,输出其他水果。
便犯了我文章开头说的逻辑错误。
if与else的使用,多选择
最新推荐文章于 2024-09-05 20:37:19 发布