多個平行if使用時末尾的else也會執行

2021-10-21 13:45:48 字數 477 閱讀 9696

程式設計過程中的細小問題防不勝防

多個平行if使用時末尾的else也會執行,會造成程式錯誤。

if

(oeo->num==2)

if(oeo->cmdtcon==0)

if(oeo->cmdtcon==3)

else

}else

}

在使用時,如果oeo->cmdtcon不等於3的話,最後都會轉移至exit_1函式,違背了程式設計者的本意,究其原因,else只和最近的乙個if配對,所以在使用多個平行if時盡量不使用else,或者改為else if形式。

if

(oeo->num==2)

else

if(oeo->cmdtcon==0)

else

if(oeo->cmdtcon==3)

else

}else

}

Golang defer 使用時的坑

defer是golang語言中的關鍵字,用於資源的釋放,會在函式返回之前進行呼叫。一般採用如下模式 f,err os.open filename if err nil defer f.close 如果有多個defer表示式,呼叫順序類似於棧,越後面的defer表示式越先被呼叫。不過如果對defer的...

background size使用時的注意點

background size要寫在background image後面,否則background size不會生效 comment clist item code 這樣寫,background size是不生效的 必須這樣寫 comment clist item code 如果乙個後面的乙個樣式修...

Block 的使用時機

block 一般是用來表示 簡化一小段的程式碼,它特別適合用來建立一些同步執行的程式片段 封裝一些小型的工作或是用來做為某乙個工作完成時的回傳呼叫 callback 在新的ios api中block被大量用來取代傳統的delegate和callback,而新的api會大量使用block主要是基於以下...