为什么我一直得到这个错误?帮助我这是homeowrk。我对编程帮助很陌生。 $ gcc homework.c homework.c:函数'main': homework.c:32:6:error:'DisplayMenu'的静态声明遵循非静态声明 homework.c:11:7:note: 'DisplayMenu'先前的声明在这里'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);
}
}
不,这不是问题。 “你不能在另一个里面声明一个函数。”的确我们可以。 – starrify 2013-03-15 08:03:36
没错。但TS显然打算调用函数而不是声明它。 – 2013-03-15 08:06:44
对不起,但我会指出,实际上我没有检查语言规范,所以我不知道C标准是如何处理的。但是,在'GCC 4.7.2'中,声明一个函数在另一个函数内,除了声明一种语言之外什么都不做。并且在编译时它不会产生任何错误(但是在联系时间内,如果您尝试调用该函数并且它没有在任何地方实现)。 – starrify 2013-03-15 08:08:58