C语言函数调用和嵌套的使用

# include <stdio.h>
int func(int j )
{
int i;
int sum;
if ( ( i == 0) || ( i == 1))
sum = 1;
else
sum = func(i) * i;
return sum;
}
main()
{
int n ;
float y;
y = func(n);
for (n = 0;n < 5;n ++)

printf("%d!=%f",n,y);
}
我这个是5!的求法请问那里出错了,为什么结果什么都不出来
我知道哪里错了,j-1才对

#include <stdio.h>
int func(int i); //函数的原型定义
int main(void)
{
int n;
float y;
scanf_s("%d",&n); //n没有被初始化,为任意值,此时是读取一个值给n,删去,直接给n初始化为5也可以 scanf_s是VS2013编译器专用的,请自行改成scanf
y = func(n); /*函数的调用*/
printf("%d!=%f", n, y); /*for语句多余*/
return 0;
}
int func(int i)
{
int sum=0;
if ((i == 0) || (i == 1))
sum = 1;
else
sum = func(i-1) * i; // i的值没有变化,一直都是读入的值,不会终止递归。
return sum;
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答