加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

return true在C中返回0

发布时间:2020-12-16 10:23:16 所属栏目:百科 来源:网络整理
导读:这是一个简单的递归回文测试,它本身可以工作,但无论函数实际返回什么,都会返回0.这是我的代码,我离开了调试cout语句,所以你可以看到它确实有效: bool pal(int l,int r,char *a){ if(l = r) { cout "returning true" endl; return true; } if(a[l] != a[r])
这是一个简单的递归回文测试,它本身可以工作,但无论函数实际返回什么,都会返回0.这是我的代码,我离开了调试cout语句,所以你可以看到它确实有效:

bool pal(int l,int r,char *a)
{
     if(l >= r)
     {
        cout << "returning true" << endl;
        return true;
     }

     if(a[l] != a[r])
     {
        cout << "returning false" << endl;
        return false;
     }
     pal(l+1,r-1,a);
}

解决方法

您的程序具有未定义的行为,因为存在根本不返回的路径.你应该在最后添加一个return语句:

return pal(l+1,a);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读