递归调用 用递归方法求n!(n的阶乘)的值
unsigned long mul(int n) //定义函数mul,函数返回值类型为无符号长整形(4字节),定义形式参数n{
unsigned long p; //无符号长整形(4字节)变量p
if(n>1)
p=n*mul(n-1);
else
p=1L; //请问这一句是什么意思呢?
printf("p=%d p的地址:%p\n",p,&p);
return p;
}
main()
{
int m;
puts("calculate n!n=?\n");
scanf("%d",&m);
printf("%d!=%1d m的地址:%p\n",m,mul(m),&m);
return 0; //主函数为什么还要加return语句呢?加了return 0和不加有什么不同呢?
}
递归调用小弟脑袋就是转不过弯来了,这个程序是什么意思呢?
p=1L; 请问这一句是什么意思呢?
主函数为什么还要加return语句呢?加了return 0和不加有什么不同呢?
拜谢大神!
[ 本帖最后由 yangt 于 2014-2-4 11:38 编辑 ]