鱼C论坛

 找回密码
 立即注册
查看: 4633|回复: 3

求教为什么我写的这个小程序运行的时候会崩溃呢?

[复制链接]
发表于 2013-3-31 21:22:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<iostream>
using namespace std;
int f(int n)
{
        if(n==0)
                return 0;
        else if(n==1)
                return 1;
        else return f(n-1)+f(n-2);
}
main ()
{
        int i;
        cout<<"请输入一个大于等于0的整数;"<<endl;
        cin>>i;
        if((!i)||(i<0))
        {
                cout<<"输入错误,请重新输入!"<<endl;
                 cin.clear();
        }
   cout<<f(i)<<endl;
}
我是新手,为什么我上面这段代码 当我输入正确的时候没问题,一旦我故意输入错误,就是导致崩溃呢?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-31 21:36:23 | 显示全部楼层
函数f中没有进行参数的有效性检测,如果参数为负值,将会无穷递归下去
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-3-31 21:50:25 | 显示全部楼层

可是我在mian函数里面加了啊。。。那里面不能检测么?
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-3-31 22:00:17 | 显示全部楼层
故乡的风 发表于 2013-3-31 21:36
函数f中没有进行参数的有效性检测,如果参数为负值,将会无穷递归下去

谢谢你,问题已改正。
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-4 18:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表