如何编写正确的 do..while 循环?

How to write proper do..while loop?

出于某种原因,此代码在我尝试编译时抛出错误。怎么了,你能告诉我吗? 我正在参加 CS50 课程,这实际上是第一个作业。

程序必须提示用户输入,直到条件为假。

#include <stdio.h>
#include <cs50.h>

int n;

do
{
    n = get_int();
}
while ( n < 0 || n > 23 );

这是错误:

pyramid.c:6:1: error: expected identifier or '('
do
^
pyramid.c:10:1: error: expected identifier or '('
while ( n < 0 || n > 23 );

这是在 C 中使用 do {...} while(); 循环的通用示例。 cs50 不是标准的 C 头文件,这是给上 cs50 课程的学生自制的。

你应该检查get_int(); cs50.h 头文件中的定义。

代码:

#include <stdio.h>
int main()
{
    int number;

    // Do while loop is executed at least once
    do
    {
      printf("Enter a number from 0-23: ");
      scanf("%d", &number);

    }
    while(number < 0 || number > 23);

    printf("Number = %d\n",number);

    return 0;
}