我有兩件代碼:哪一個更好? do {} while(0);或轉到xy;
一個do while循環:
do
{
errorflag=0;
...
if(cond1)
{
errorFlag=12;
break; // Error Conditions
}
.
. // Processing
.
if(cond2)
{
errorflag=56;
break;
}
.
.
} while (0);
一個goto標籤:
errorflag=0;
if(cond1)
{
errorflag=12;
goto xy;
.
.
.
.
if(Cond2)
{
errorflag=56;
goto xy;
}
.
.
.
xy:
哪一個更好?請詳細說明爲什麼?或者有沒有更好的方法來做到這一點?我們正在優化代碼。我們最看重這些大循環。是彙編級別,沒有太多的優化範圍。請提供您的輸入。
我不喜歡使用其他 - 如果因爲它再次檢查一個條件的開銷。所以在出現問題時直接退出。
我覺得這個編輯我的問題是有道理的提前
感謝
這有什麼錯一個簡單的'其他if'?那裏有多少條件?這實際上是什麼語言? – 2010-12-13 10:29:43
這不是一個很好的問題。這就像「哪個更好:用鈍勺挖出我的大腦,或者用堅果餅乾粉碎了我的睾丸」。兩者都不好,都避免它們!另外,'do ... while'通常(但並非總是)表示你寫錯了代碼。避免它,除非它確實真的有意義。我知道很多人會不同意這種說法,但我總是發現,「雖然......做」結構更容易閱讀,通常只是......更好。 – AlastairG 2010-12-13 11:37:43
@AlastairG:讓你的睾丸碾碎是可以生存的。這顯然是更好的選擇。話雖如此,我想我不會濫用C控制結構並避免懲罰。我同意你關於'do ... while()'我只是不使用它。 – JeremyP 2010-12-13 12:01:16