c语言中的问题!!!

来源:百度知道 编辑:UC知道 时间:2024/05/21 16:06:33
问题
fun函数的功能是求10的阶乘
#include "stdio.h"
long fun(int n)
{
if(___1___)
return(n*fun(____2____));
else if(___3___)
return 1;
}
main()
{
int k=10;
printf("%d!=%1d\n",k,fun(k));
}
在这里我不懂的是 long fun(int n) 这是个什么意思??
return(n*fun(____2____)); 这又是什么意思
return 1; 这是什么意思
printf("%d!=%1d\n",k,fun(k)); 这又是什么意思
呵呵``可能不懂的有点多```请指教
return 1是指返回值为1;
返回到那里去呢``不太懂``
你有QQ吗``
你说的谭浩强的那个书买了好久了``看过一次``不怎么懂

long fun(int n)是一个自定义的函数,long 表示数据类型,后面的fun()是自己定义的,你也可以写别的名字;
return(n*fun(____2____)); 是指返回值,就说这个函数返回的值是多少;(括号中填--n吧)
return 1是指返回值为1;
printf("%d!=%1d\n",k,fun(k)); 是一个输出函数,意思就是k!=fun(k).
也没说很清楚,是初学者吧,建议多看看书,看多了就明白了,推荐一本谭浩强的C语言程序设计,是清华大学出版的,深绿色的封面.

看来你一点基础都没!
看看函数调用你就知道什么意思了?

fun(N)是个递归函数!!比如n!=n*(n-1)! 而(N-1)!=(n-1)*(n-2)!
它反复调用自身函数!!其中N是型参.
prinft语句正是调用这个函数,其中K是实参,初始化赋值为10,所以就是输出10的介乘的结果了!!!