[問題] 這段程式碼如何改寫 避免goto
問題(Question):
我在寫一個小程式時,寫出底下這段程式碼。
常聽人說要避免使用goto, 那要如何改寫?
還是說這裡用goto也足夠清晰,可以接受?
程式碼(Code):(請善用置底文網頁, 記得排版)
label_1:
func1();
label_2:
if( !func2() ){
goto label_1;
}
label_3:
if( !func3() ){
goto label_2;
}
label_4:
if( !func4() ){
goto label_3;
}
if( !func5() ){
goto label_4;
}
補充說明(Supplement):
當func2()傳回否時,即 !func2()傳回真,我需要再執行一次func1(), 接著再判斷一次
func2()的真假值,再決定往回走,還是往下走。
(每次往回走,再往下走,真假值都可能改變)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.224.178.12
→
01/29 13:48, , 1F
01/29 13:48, 1F
→
01/29 13:49, , 2F
01/29 13:49, 2F
※ 編輯: shyangs 來自: 125.224.178.12 (01/29 14:05)
推
01/29 14:26, , 3F
01/29 14:26, 3F
推
01/29 14:45, , 4F
01/29 14:45, 4F
→
01/29 14:46, , 5F
01/29 14:46, 5F
→
01/29 14:55, , 6F
01/29 14:55, 6F
→
01/29 15:07, , 7F
01/29 15:07, 7F
→
01/29 15:48, , 8F
01/29 15:48, 8F
推
01/29 16:26, , 9F
01/29 16:26, 9F
推
01/29 16:42, , 10F
01/29 16:42, 10F
推
01/29 16:54, , 11F
01/29 16:54, 11F
推
01/29 19:34, , 12F
01/29 19:34, 12F
→
02/01 01:58, , 13F
02/01 01:58, 13F
推
02/01 12:25, , 14F
02/01 12:25, 14F
→
02/01 12:25, , 15F
02/01 12:25, 15F
推
02/01 14:20, , 16F
02/01 14:20, 16F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章