2016-02-05 2 views
-2

Я видел в большом примере пример использования цикла while, который я не уверен, что это нормально использовать в коде.Использование цикла while

while(1){ 

    // code lines 

    if(condition){ 
     break; 
    } 

    // code lines 
} 

Это нормально использовать? что составляет

while(1) 

точно означает?

+4

Да, это нормально использовать. И хотя (1) эквивалентно while (true) и означает, что цикл while не останавливается до разрыва с разрывом; – Magisch

+0

Никто не останавливает вас, используя это, но вам лучше быть уверенным, что, пока он станет ИСТИННЫМ, если нет, ... ну, вы попали в бесконечный LOOP. – Michi

ответ

2

это нормально использовать? что именно

Да, и его обычно используется в программировании.

while(1) такого же, как while(true), в основном состояние Thats всегда верно, обеспечивая петлю while никогда не останавливается, пока вы вручную не выйти из него с break;

Есть много приложений для такого поведения. Может быть, условие выхода очень сложное, требует вызова функций и т. Д. Возможно, вам просто нужен бесконечный цикл для вашей программы (например, для меню), который выходит только на очень конкретные подсказки. Wether, или вы его часто используете, часто также является стилистическим выбором.

1

while(1) - это то же самое, что и for(;;) - они оба означают цикл навсегда.

Это используется, когда условие выхода затруднено или неизвестно в верхней части цикла или в качестве альтернативы петле do, где условие выхода находится в самом низу.

Некоторые петли даже не имеют выхода; Представьте себе демон, который никогда не заканчивается или сигнал или другое приложением прерываний, где цикл просто делает что-то вроде ...

while(1) { 
    listen_and_run(); 
    // or 
    sleep(10); 
} 
0

while(1) бесконечным условие цикла. Но в вашем примере цикл заканчивается, когда возвращается if (condition), потому что в нем находится break.

0

while (1) продолжается навсегда до тех пор, пока не будет прерван. Вы также можете использовать его самостоятельно, например, в следующем примере.

int main(){ 
signal(SIGINT, SIG_DFL); 
while(1); 
} 

Эта программа продолжается навсегда, пока вы не нажмете ctrl + c.

0

Просто альтернатива выполнению условия перерыва в цикле while. while (1) - это просто программатор, который заставляет всегда верный оператор в цикле while, делая это, пока цикл продолжается до тех пор, пока условие if не будет выполнено. Согласием поставить условие break в цикле while, но не обязательно.

1

В условиях => '1' всегда считается TRUE и '0' как False. Так,

в то время как (1) {

}

Средства условие истинно, и это будет цикл навсегда, как '1' является постоянной величиной и имеет значение ИСТИНА.Условие «if» в вашем коде может только вывести его из цикла while. Аналогично, все присваивания и все выражения, которые оценивают значение> 0, считаются TRUE

Пример: while (3 * 12) {}, тогда как (a = b) {}, тогда как (9/3) {} Это будет цикл навсегда, если в цикле не существует условия, которое прерывает цикл.

Аналогично, все выражения, которые оцениваются как «0» или FALSE, никогда не входят в цикл. Пример: while (a = 0) {}, тогда как (5-5) {} и т. Д.