问题描述
我目前正在对计算机科学进行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()函数上进行编码