aditya tejus Ответов: 2

Необходимо ли инициализировать переменную в цикле while ?


while(i = 0 )
{
------ (выражение )
______(ВЫРАЖЕНИЕ)
.
.
}

Что я уже пробовал:

ЧТЕНИЕ ДОПОЛНИТЕЛЬНОЙ ИНФОРМАЦИИ О ЦИКЛАХ

2 Ответов

Рейтинг:
2

OriginalGriff

Для начала, это не сработает:

while(i = 0 )
Это не тест, это задание - поэтому оно всегда возвращает ноль, что в терминах C++ всегда ложно. Так что петля никогда не войдет, как while циклы продолжаются до тех пор, пока защитное выражение истинно (т. е. ненулевое).
Попробовать это:
while(i == 0)
И это будет работать лучше.
Но да, вы должны явно установить значение i, прежде чем пытаться войти в цикл:
i = 0;
while(i == 0)
   {
   ...
   }
чтобы быть уверенным в том, что произойдет.


Рейтинг:
0

Patrice T

Цитата:
Необходимо ли инициализировать переменную в цикле while ?

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

while(i = 0 )

Здесь инициализация i это неуместно, потому что это место предназначено для условия цикла, и 0 будет препятствовать входу в цикл.

i = 0;
while(i == 0)
   {
   ...
   }

Это, вероятно, то, что вы хотите сделать, как предложил OG.

a = 10;
while(i = a)
   {
   ...
   a--;
   }

но это работает, потому что это означает.
while((i = a) != 0)