为什么我一直收到此错误?帮助我这是家庭主妇。我很擅长编程帮助。 $ gcc homework.c homework.c:在函数'main'中: homework.c:32:6:错误:'DisplayMenu'的静态声明遵循非静态声明 homework.c:11:7:注意:之前的'DisplayMenu'声明就在这里
#include <stdio.h>
void DisplayMenu();
void numberPlus10();
void numberTimes2();
void numberMinus1();
void numberTimesnumber();
int main (void)
{
int choice;
void DisplayMenu();
scanf("%i", &choice);
switch (choice)
{
case 1:
numberPlus10();
break;
case 2:
numberTimes2();
break;
case 3:
numberMinus1();
break;
case 4:
numberTimesnumber();
break;
default:
break;
}
void DisplayMenu()
{
printf("1. Number + 10\n");
printf("2. Number * 2\n");
printf("3. Number - 1\n");
printf("4. Number * Number\n");
}
void numberPlus10()
{
int x;
printf("Please enter a number:\n");
scanf("%i", &x);
printf("Your number + 10 is %i\n", x + 10);
}
void numberTimes2()
{
int x;
printf("Please enter a number:\n");
scanf("%i", &x);
printf("Your number * 2 is %i\n", x * 2);
}
void numberMinus1()
{
int x;
printf("Please enter a number:\n");
scanf("%i", &x);
printf("Your number - 1 is %i\n", x - 1);
}
void numberTimesnumber()
{
int x;
printf("Please enter a number:\n");
scanf("%i", &x);
printf("Your number squared is %i\n", x * x);
}
}
答案 0 :(得分:0)
在C中,我们不在任何块内实现函数。相反,功能应在全球范围内实施。
删除最后一个右括号,并在switch
int main(void)
结束后立即放置,并且不会再出现错误。
<强>编辑:强>
首先..我确信上面是您的源代码无法编译的原因。
另外,请检查David的答案,因为我们都相信你在打算调用它时发出了函数声明 - 虽然这个错误没有触发编译时错误。
答案 1 :(得分:0)
int choice;
void DisplayMenu(); // You should not declare a function here.
scanf("%i", &choice);
我想你打算调用这个函数 - 所以只需从行的开头删除“void”。
int choice;
DisplayMenu(); // Call DisplayMenu
scanf("%i", &choice);
并且......请阅读语言规范