我的代码出了什么问题?错误预期标识符或'('

时间:2017-06-13 02:45:04

标签: c cs50

这是一个有趣的代码,基本上我试图做那个愚蠢的事情,你问别人的名字,然后让他们拼写它。如果他们拼出来,那么你告诉他们你实际拼写它(他们把它们作为他们的名字),反之亦然。我在第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");
    }
}

3 个答案:

答案 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()

之后添加它