2012-03-29 77 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