首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

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

关于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);} 

热点排行