这是一个有趣的代码,基本上我试图做那个愚蠢的事情,你问别人的名字,然后让他们拼写它。如果他们拼出来,那么你告诉他们你实际拼写它(他们把它们作为他们的名字),反之亦然。我在第7行:1得到一个错误,所以第一个大括号。这是错误预期的标识符或者#(39)。非常感谢您的帮助!
#include <stdio.h>
#include <cs50.h>
string it(void);
int main(void);
{
do
{
printf("What's your name? ");
string name = get_string();
}
while (name = NULL)
do
{
printf("How do you spell it?");
string spelling = get_string();
}
while (spelling = NULL)
if (name = spelling)
{
printf("No it's spelled 'it'.");
}
else if (spelling = it)
{
printf("No it's spelled %s",name);
}
else
{
printf("That's wrong on so many levels.\n");
}
}
答案 0 :(得分:1)
您需要从int main(void);
放一个;
使它成为一个函数原型,这里是一个函数定义。
像return_type fun_name(arguments);
这样的语句暗示它是一个函数原型,你稍后在代码中写了定义。
虽然这样的声明(没有分号)
return_type fun_name(arguments)
{
//body
}
表示此return_type fun_name(arguments)
后面的代码是函数定义。
答案 1 :(得分:0)
问题是“;”在第5行的int main(void)之后 擦除它应该可以解决问题。
答案 2 :(得分:0)
在int main(void)之后删除分号(;)并在while()
之后添加它