Является ли код "while (условие);"действительный и что это значит? - PullRequest
26 голосов
/ 08 ноября 2010

Можем ли мы поставить точку с запятой как while(condition); в программировании на C?Если while(condition); действительно, что это значит?

Ответы [ 16 ]

3 голосов
/ 08 ноября 2010

while () - это цикл. Вы, вероятно, хотите сделать цикл «пока». Циклы Do-while работают в следующем формате:

do
{
    // Your process
    // When something goes wrong or you wish to terminate the loop, set condition to 0 or false
} while(condition);

Однако тот, который вы перечислили выше, является пустым циклом.

циклы while () работают почти одинаково; просто нет части «до».

Удачи!

2 голосов
/ 08 ноября 2010

Это просто пустой цикл.Было бы полезно, если бы вы объяснили, что это за состояние.

1 голос
/ 08 ноября 2010

Это просто цикл while без тела исполнения

while(condition);

совпадает с

while(condition)
{
    }
1 голос
/ 08 ноября 2010

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

1 голос
/ 08 ноября 2010

Если оценка условия не изменяет значение, которое влияет на само условие, while(condition); - это пустой бесконечный цикл, означающий, что он никогда не завершится (и никогда не будет ничего делать, кроме как потребляя процессорное время).

0 голосов
/ 08 ноября 2010

Просто другое использование, не описанное здесь:

do
{
   if(out_of_memory)
     break;

   if(file_does_not_exist)
     break;

   return ok;

} while(0);

return error;

Это позволяет вам избежать нескольких обратных вызовов или операторов goto.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...