我正在尝试使用此代码来提示用户提供一个数字,并设置答案应在1到23(含)之间的条件。但是,当我尝试使用do-while
循环时,似乎正在抛出一个我不熟悉的错误。
我的代码:
#include "stdio.h"
#include "cs50.h"
int n;
do
{
n = get_int("Enter a number: ");
}
while (n < 0 || n > 23);
错误:
hello.c:5:1: error: expected identifier or '{'
do
^
hello.c:10:1: error: expected identifier or '{'
while (n < 0 || n > 23);
^
答案 0 :(得分:1)
您的问题不是循环的语法错误。问题是您没有将其放在任何函数中,因此编译器没有期望在该上下文中发生循环。 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
函数内部,而不是仅仅停留在其中。