[求助]关于用递归求5!的方法
用递归的方法求5!的值 运行后屏幕上什么结果也没有愿各位指点错误 先谢谢了
int digui(int a)
{ int b;
while(a!=1) {b=a*digui(a-1);}
if(a==1) return 1;
else return b;
}
main()
{ int a;
a=digui(5);
printf("%d",a);
}
[此贴子已经被作者于2007-7-16 21:04:26编辑过]
知道你错哪了
int digui(int a)
{ int b;
while(a!=1) {b=a*digui(a-1);}
if(a==1) return 1;
else return b; 这里的else不应该这样,后面的语句应该放在while后面的大括号里
}
main()
{ int a;
a=digui(5);
printf("%d",a);
}
正确的是
int digui(int a)
{ int b;
while(a!=1)
{b=a*digui(a-1);
return b;}
if(a==1) return 1;
}
main()
{ int a;
a=digui(5);
printf("%d",a);
getch();
}
[此贴子已经被作者于2007-7-16 22:11:08编辑过]