Ваша проблема не в том, что синтаксис вашего цикла неправильный.Проблема в том, что вы не поместили его в какую-либо функцию, поэтому компилятор не ожидал цикл в этом контексте.int n;
действует вне функций, поэтому ошибка возникает при запуске цикла.Попробуйте что-то вроде этого:
#include "stdio.h"
#include "cs50.h"
int main(int argc, char **argv)
{
// the program starts here; "main" is the function that is run when the program is started
int n;
do {
n = get_int("Enter a number: ");
}
while (n < 0 || n > 23);
// TODO: do something useful with the input
return 0; // The convention is that returning 0 means that everything went right
}
Обратите внимание, что код теперь находится внутри функции main
вместо того, чтобы стоять там один.