Язык C при использовании после do

Из курса Гарвардского курса CS50

в основном у него есть функция

где он говорит

do {
    int n = get_int("Positive number")
}
while ;

Он хочет, чтобы программа повторяла положительное число, пока пользователь не введет положительное число. Почему цикл while находится внизу его функции do?


person Karan Kapoor    schedule 11.10.2018    source источник
comment
потому что это цикл do () while!   -  person Mitch Wheat    schedule 11.10.2018
comment
Возможный дубликат «Пока» против «Сделать пока»   -  person ShadowRanger    schedule 11.10.2018
comment
Вам нужно выражение после while.   -  person Barmar    schedule 11.10.2018
comment
Это не настоящий код. Условие в скобках после ключевого слова while является обязательным.   -  person Keith Thompson    schedule 11.10.2018
comment
Если вы поместите тест наверху, вы проверите число до того, как пользователь введет его. Это имеет для вас смысл?   -  person Barmar    schedule 11.10.2018
comment
@Barmar: после того, как я отметил это, я понял, что предложенный мной вопрос был объединен с этим, поэтому на прямая ссылка. Не могли бы вы добавить прямую ссылку на объединенный вопрос в набор дубликатов, чтобы сэкономить несколько кликов?   -  person ShadowRanger    schedule 11.10.2018


Ответы (1)


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

person hamid crazy    schedule 11.10.2018