我相信我的问题有一个简单的解决方案,但我的大脑太炒了,无法立即思考。
在我的main函数中,我有一个函数,我们将调用“Function1”。在“Function1”中,我调用另一个验证“Function1”中数据的函数,让我们调用“Function2”。为了使“Function2”能够很好地完成工作,需要再次调用“Function1”。这显然是我如何得到一个无限循环的“Function1”和“Function2”反复相互调用。我需要创建跟踪这个的方法,这样我可以在Main的第一次传递后停止循环 - >功能1 - >功能2 - >功能1 - >结束,但我的实施一直在失败。
我非常感谢任何帮助和指导。
答案 0 :(得分:1)
你需要传递一个关于function1的关卡计数器。在第一次调用时,级别为0.如果级别为0,则可以调用function2。如果它> 0然后不要调用function2。 当function2调用function1时,它将级别设置为1(或增加它)。 这是你如何进行递归调用。当然,您可以根据需要将结束条件更改为其他内容(而不仅仅是0和1)。
答案 1 :(得分:1)
您可以设置一个计数器整数,并且只在计数器小于1时运行Function2(或者您希望循环在爆发之前迭代多次)。
例如(伪代码):
int count;
Function1{
...
while(count < 1){
Function2{
.... //Function2 code
count++;
}
}
.. //any code from Function1 that should run after Function2
}
(注意,如果您愿意,也可以使用布尔值执行此操作 - 我更喜欢整数方法,因为您可以在相当容易地突破之前更改迭代次数)