1) include前要加#
2) 函数定义要在任何函数外(包括main函数)
3) 其他问题见注释
没有语法错误的代码如下 :
#include// include前要加#
int f(int x)//函数定义在这
{
if (x==0)//是数字0,不是字母o
return 0;
else
return 2*f(x-1)+x*x;
}
main()
{
int x;//申明变量x
printf("请输入X的值:\n");
scanf("%d",&x);
printf("%d",f(x));
}
#include
int f(int x)
{
if (x==0)
return 0;
else
return 2*f(x-1)+x*x;
}
main()
{
int x;
printf("请输入X的值:\n");
scanf("%d",&x);
printf("%d",f(x));
}
main前要有返回值声明,如果不为void,main函数中还要加上return语句。
PS:函数声明位置的地方,这个只能说是”不符合编程美学“,但是 绝对绝对 没!有!问!题!
C语言只要求在调用前声明过,并且函数的实现部分一定要在一个语法段中这些,从来没有强制要求函数声明必须在函数体外。
那些对函数f()实现位置有意见的,请自己实测。
再PS:题主题目中f()实现位置,保证了函数f()只能在main中调用,如果修改成main函数外,反而与原题不符合了~~~
方法里面不能再写方法 只能调用
include
//写到外面
int f(int x)
{
if (x==o)
return 0;
else
return 2*f(x-1)+x*x;
}
main()
{
printf("请输入X的值:\n");
scanf("%d",&x);
printf("%d",f(x));
}