当前位置: 代码迷 >> C语言 >> 递归阶乘为何不对捏....
  详细解决方案

递归阶乘为何不对捏....

热度:277   发布时间:2007-04-19 11:27:37.0
递归阶乘为何不对捏....
float fac(int n)
{
float f;
if (n<0)
{
printf ("n<0,dataerror");
}
else
if (n==0||n==1)
f=1;
else
f=fac(n-1)*n;
return f;
}
#include "stdio.h"
int main(void)
{
int n;
float y;
printf ("input an integer number:");
scanf ("%d",&n);
y=fac(n);
printf ("%d!=%10.0f\n",n,y);
}
为何这样写不对
#include "stdio.h"
int main(void)
{
float fac(int n);
int n;
float y;
printf ("input an integer number:");
scanf ("%d",&n);
y=fac(n);
printf ("%d!=%10.0f\n",n,y);
}
float fac(int n)
{
float f;
if (n<0)
{
printf ("n<0,dataerror");
}
else
if (n==0||n==1)
f=1;
else
f=fac(n-1)*n;
return f;
}
这样写就对了
---------------------------------------------------------------------------------------
这个程序这样写是对的
int age(int n)
{
int c;
if (n==1)
c=10;
else
c=age(n-1)+2;
return c;
}
#include "stdio.h"
int main(void)
{
printf ("%d",age(5));
}
这样写也是对的
#include "stdio.h"
int main(void)
{
int age(int n);
printf ("%d",age(5));
}
int age(int n)
{
int c;
if (n==1)
c=10;
else
c=age(n-1)+2;
return c;
}


弄不明白了....
搜索更多相关的解决方案: 递归  阶乘  

----------------解决方案--------------------------------------------------------
我就是想试一下
声明函数后,然后再写函数
和先写函数,不声明函数
这两个方法都能运行一个程序不能....但是为何第一个程序变一下就运行不了了
第二个程序变一下还能运行
----------------解决方案--------------------------------------------------------
不明白lz的问题,tc2下两个程序都能运行啊,结果也正确
----------------解决方案--------------------------------------------------------
楼主把第二个程序中的 float fac(int n);删掉就可以执行
原因应该是在C中不能在一个函数中定义另一个函数
----------------解决方案--------------------------------------------------------
以下是引用wen1000在2007-4-19 13:40:48的发言:
楼主把第二个程序中的 float fac(int n);删掉就可以执行
原因应该是在C中不能在一个函数中定义另一个函数

#include "stdio.h"
int main(void)
{
float fac(int n);
int n;
float y;
printf ("input an integer number:");
scanf ("%d",&n);
y=fac(n);
printf ("%d!=%10.0f\n",n,y);
}
float fac(int n)
{
float f;
if (n<0)
{
printf ("n<0,dataerror");
}
else
if (n==0||n==1)
f=1;
else
f=fac(n-1)*n;
return f;
}


你的意思是说把这个程序里的声明函数给删掉?
这个程序是可以运行的


我想问的是第一个程序为什么不能运行
----------------解决方案--------------------------------------------------------

  相关解决方案