预期标识符以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()。您不是在写定义;您只是在声明主要功能原型。通过添加括号来修复它:

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

您在函数main声明后放置了分号

int main(void);
            ^^^^

将其取下并用大括号括住主体

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 ) );
,

您必须在main()函数上进行编码

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...