前两天帮学妹调试代码,总结一个关于if-else的注意点,源代码记不住了,例如有如下代码:
if(a>10){ cout<<"a大于10"<<endl; }else if(a>5){ cout<<"a大于5"<<endl; }else{ cout<<"其他情况"<<endl; }
如果a=11,以前认为只会输出:
a大于10
但其实会输出:
a大于10 a大于5
原因在于判断条件有重叠部分,而a取11正好就落在那个重叠部分里。