if/else语句匹配问题

   1: if(*FixedMode == LNG_OUT_FIXED_AMOUNT){
   2:     if(NumTemp > MIN_FIXED_AMOUNT && NumTemp < MAX_FIXED_AMOUNT){
   3:         LngLngOutState = LNGOUT_OPEN;
   4:         KeyTab[KeyFuncIndex].KeyStateUpDate = 10;
   5:     }
   6: }
   7: else if(*FixedMode == LNG_OUT_FIXED_VOLUME){
   8:     if(NumTemp > MIN_FIXED_VOLUME && NumTemp < MAX_FIXED_VOLUME){
   9:         LngLngOutState = LNGOUT_OPEN;
  10:         KeyTab[KeyFuncIndex].KeyStateUpDate = 11;
  11:     }
  12: }

以前为了省代码行数,if 和else语言句在单行代码时直接省了{},但在嵌套的if 、else中有时会违背自己的输入的意图;

以上代码的第1行如果省去{},那么第2行的if将会和第7行的else if匹配,而从代码的缩进结构上来看,应该是第1行和第7

行是匹配的,所以以后的代码中单句if /else也不要省去{},良好的代码风格有助于阅读和调试。

原文地址:https://www.cnblogs.com/worldsing/p/3245196.html