前两天帮学妹调试代码,总结一个关于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正好就落在那个重叠部分里。
前两天帮学妹调试代码,总结一个关于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正好就落在那个重叠部分里。