2012-03-29 98 views
2

我正在嘗試創建一個循環,而不是繼續輸入輸入,直到輸入提供了打破循環的命令。我現在做看起來有點像這樣:循環不會結束,直到中斷

int start = 1; 

while (start == 1) { 

    //Program statement 

} 

不過,我覺得好像有是創建一個循環,重複,直到用戶發出命令停止它更容易,更有效的方式。有這樣的事情存在嗎?

+0

的方式,儘管通常該變量將被稱爲「繼續」,否則「停止」並且測試顛倒:「BOOL stop = NO; while(!stop){// ...};' – 2012-03-29 19:42:20

回答

3

一個常見的成語來表達C和其他類似C語言,包括Objective-C的一個「永遠」的循環,是用一個空for:你有這個現在已經是相安無事

for(;;) { 
    // statements 
} 
+1

這完全是我想要的!謝謝 – JTApps 2012-03-29 18:36:36

+2

'雖然(1)'也很常見。 – rickster 2012-03-29 18:37:51

+0

@rickster雖然'for(;;)'是在K&R(第二版第54頁頂部)中提出的,但確實如此。 – dasblinkenlight 2012-03-29 18:42:47

1

你應該做的是這樣的:

while(true) 
{ 
    if(exit_condition) 
    { 
     break; 
    } 
} 
+0

這幾乎是我所擁有的,除非真實是一個有效的未申報條件 – JTApps 2012-03-29 18:24:26

1
do{ 

    userInput = readUserInput() 

}while(userInput != exit_condition) 

任何環路作爲,同時,甚至轉到可以做這個工作。如果在循環中放置條件而不是「真」,則可以減少代碼並且不需要使用「break」語句。

+0

不行;因爲輸入是在條件之後。 – JTApps 2012-03-29 18:25:44

+0

do {userInput = readUserInput()} while(user_input!= exit_condition)will123 then – 2012-03-29 18:27:33

+0

There,I fixed it – 2012-03-29 18:34:18