一萬個if
我理解你的問題是嵌套的if else層次太深了,是吧?
如果是這樣,考慮用數組把條件存起來,排好序,用二分查找找到滿足的條件,然后根據函數指針調函數。每個分支做個函數。
也許好用。呵呵。1萬次判斷,比一次函數調用開銷還是要大很多的。可以實測一下效果如何。
如果if。。。else 。。。是并列不相關的,就沒轍了。
比如:
if{。。。}
else{。}
if{。}
else{。}
if語句和switch有什么不同
if和switch都是條件判斷語句,在效果上是沒有什么差別的,而不同,我們可以從效率上來講~ 舉一個很簡單的例子: if(A>B) {A=B;} else {B=A; } 如果將這個例子放在switch 語句中,也并不是不能實現,但是實現起來可能會比較麻煩一些,因為在switch語句中 case中要求的是常量,一般是不能進行邏輯判斷的, 所以這也是if語句優于switch語句的地方! 但是如果您判斷的都是幾個常量的數據,我建議您最好采用switch語句,如下: switch(A) { case:xxxx ///程序代碼 break; case:xxxxxx ///程序代碼 break; } http://** 這樣的語句,雖然if語句也是能實現的,但是性能就比switch差的有點遠了
ifelse語句格式
完整的if語句格式:
if(表達式1)
{
語句組1
}
【【
else if(表達式2)
{
語句組2
}
】】(該【【】】內的內容可沒有,也可多次重復)
【
else
{
語句組3
}
】(該【】內的內容可有可無)
注:當某一個語句組只含有一個語句時,該語句組前后的花括號可以省略。
有什么問題請留言。