递归代码上的运行时错误
Runtime Error on Recursive Code
为什么这个 c++ 代码会产生Runtime Error
?
有人可以帮助我吗?
https://ideone.com/trZwFD
int test(int a, int b)
{
int temp=1;
if (temp % b ==0 and temp % a ==0)
return temp;
temp++;
test(a,b);
return temp;
}
谢谢大家。
每个递归调用都将temp
初始化为 1,因此您永远不会从该方法返回(假设给定的 a 和 b (1 % b ==0 and 1 % a ==0)
为 false),并且始终进行另一个递归调用。
#include<iostream>
#include<iomanip>
using namespace std;
int temp=1;
int test(int a, int b)
{
if (temp % b ==0 && temp % a ==0)
return temp;
temp++;
test(a,b);
}
int main(){
cout<<test(2,3);
}
此代码运行良好
我认为你应该放弃递归 - 你想做的事情并不能证明它的合理性。
int test(int a, int b)
{
int temp = 1;
while (temp % b == 0 && temp % a == 0)
++temp;
return temp;
}
相关文章:
- 为什么此代码存在运行时错误?
- 蝴蝶代码 88.合并排序数组 c++ 运行时错误
- 在Hackerearth上获取运行时错误(SIGSEGV),无法找出代码中的问题
- 为什么我在此代码中收到运行时错误
- 我的代码上的运行时错误 sigsegv
- 矢量的 c++ 代码中的运行时错误
- C++代码在 for 循环的条件下给出运行时错误,而如果它被具有相同意义的代码替换,则编译正确
- 我的代码中出现运行时错误的可能原因是什么?
- 我在代码中收到一个运行时错误,该错误如何通过修改最多一个元素来查找数组是否可以变得不减少
- 在计算机级别,应用程序以二进制方式运行,然后当发生运行时错误时,它如何呈现回错误代码
- .NET CORE 2 DLL引用带有C 代码运行时错误
- 为什么我的代码给出运行时错误超时
- 为什么我的程序在删除以下代码中的注释后会出现运行时错误?
- 薄板样条形状转换运行时错误 [使用代码 -1073741819 退出]
- C 代码的运行时错误(基于指针)
- 代码中的运行时错误,用于求解最小的偶数可整除
- 为什么我的代码导致运行时错误
- 为什么矢量上的这段代码会给出运行时错误
- 涉及向量的初学者代码,SEIGSEV运行时错误
- 为什么这段代码会产生运行时错误