gpt4 book ai didi

C++ 简单但棘手的递归

转载 作者:行者123 更新时间:2023-11-30 02:02:23 24 4
gpt4 key购买 nike

很简单,我正在尝试定义一个递归方法来返回 vector 的媒介。但是,我的代码没有工作,编译器没有提示任何东西,只是程序在函数被调用时终止了。我试图一次又一次地查看代码。任何帮助将不胜感激:D

int minR(vector<int> vec, size_t start){
if(start == vec.size()-1){return vec[start];}
int temp = minR(vec, start++);
return ((vec[start] < temp) ? vec[start] : temp);
}

最佳答案

在这一行

int temp = minR(vec, start++);

您正在调用 minR(vec, start) 而不是您认为的 minR(vec, start+1)。这会导致无限递归,这就是您的程序停止的原因。

你应该打电话

int temp = minR(vec, start + 1); 

关于C++ 简单但棘手的递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13218554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com