此错误是什么意思? "expected identifier or '('"



我是编码新手,不知道该怎么办。

#include <stdio.h>
int get_positive_int(void);
int main(void)
{
int i = get_positive_int();
printf("%in", i);
}
int get_positive_int(void)
{
int n;
do
{
n = get_int("Height: ");
}
while (n > 8 || n < 1);
return n; 
}

for (int i = 1; i < 9; i++)
{
printf("%i#n");
}

这就是我得到的:

$ make mario
clang -fsanitize=signed-integer-overflow -fsanitize=undefined -ggdb3 -O0 -std=c11 -Wall -Werror -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wshadow    mario.c  -lcrypt -lcs50 -lm -o mario
mario.c:24:1: error: expected identifier or '('
for (int i = 1; i < 9; i++)
^
1 error generated.
<builtin>: recipe for target 'mario' failed
make: *** [mario] Error 1

您似乎来自脚本语言背景
在C中,所有执行的代码(与声明、原型等不同(都必须在函数内部。它也只有在函数被调用时才会被执行。

只有main()被自动调用。其他一切都必须在从那里(间接(调用的函数中。(跳过对中断和其他根上下文结构的讨论…(

你已经有了main()
您认为通过将有问题的代码移到其中可以实现您的目标吗?

如果没有,您必须计划哪个函数包含该代码,以及如何/何时调用该代码。

最新更新