读书人

关于C语言的递归有关问题

发布时间: 2012-04-10 21:03:56 作者: rapoo

关于C语言的递归问题
大家帮忙看下这段代码为什么不对?不能执行,不能调试,递归实现 N*(N - 1)*(N - 2)...*2*1

C/C++ code
#include<stdio.h>int fuck(int n){    int sum = 1;    if(n == 1)    {        sum = sum * n;    }    fuck(--n);    return sum;}int main(){    int n = 2;    int sum = 0;    sum = fuck(n);    printf("%d",sum);    return 0;}


[解决办法]
凡是递归函数都必须找到一个出口,至底向上返回。而你的fuck函数显然没有返回。这样下去,我觉得你的电脑应该不能一直持续fuck下去的。
C/C++ code
int fuck(int n){    if(n == 1)    {        return 1;    }      return n*fuck(--n);} 

读书人网 >C语言

热点推荐