预期标识符(在 C 中)

expected identifier (in C)

我目前正在做 CS50 计算机科学导论: 我开始编写这段代码(用 C 编写),我必须根据用户编写的内容编写一个金字塔。

这是我的代码:

#include <stdio.h>

#include <cs50.h>

int main(void);

int n;

do

{

    n = get_int("Positive Number: \n");

}

while (n > 0 || n < 9);

这是我的终端显示的错误:

mario.c:6:1: error: expected identifier or '('
do
^
mario.c:10:1: error: expected identifier or '('
while (n > 0 || n < 9);
^
2 errors generated.
<builtin>: recipe for target 'mario' failed
make: *** [mario] Error 1

有人可以帮忙吗? 威廉

看看你的main()。你不是在写定义;你只是在声明 main 函数原型。通过添加大括号修复它:

int main(void) {
  .
  .
  .
  return 0;
}

您必须在函数 main() 上编写代码

您在函数 main 的声明之后放置了一个分号

int main(void);
            ^^^^

删除它并将 main 的主体括在大括号中

int main(void)
{
    //...
}

do-while语句的条件似乎也是

do

{

    n = get_int("Positive Number: \n");

}

while (n > 0 || n < 9);

不正确。我怀疑如果 n 的输入值不是正值或大于或等于 9,您想重复循环。在这种情况下,条件应该类似于

do
{
    n = get_int("Positive Number: \n");
} while ( !( n > 0 && n < 9 ) );