C语言程序帮忙找下错误,谢谢

2025-02-28 04:20:40
推荐回答(4个)
回答1:

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));
}

回答2:

#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));
}

回答3:

main前要有返回值声明,如果不为void,main函数中还要加上return语句。

PS:函数声明位置的地方,这个只能说是”不符合编程美学“,但是 绝对绝对 没!有!问!题!
C语言只要求在调用前声明过,并且函数的实现部分一定要在一个语法段中这些,从来没有强制要求函数声明必须在函数体外。

那些对函数f()实现位置有意见的,请自己实测。

再PS:题主题目中f()实现位置,保证了函数f()只能在main中调用,如果修改成main函数外,反而与原题不符合了~~~

回答4:

方法里面不能再写方法 只能调用
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));
}