我正在使用visual studio 2010。这里我有一个while循环,代码如下
while(cx!=ex && cy!=ey){
//a* algorithm code inside
}
然而,在第 12 次迭代之后,尽管条件仍未满足,while 循环突然中断。没有“越界”错误或类似的错误。这可能是什么原因造成的?什么是最好的解决方案,因为我可以说可能有大约几到一百次迭代。谢谢。
编辑:代码在 C++ 中。对不起。
我正在使用visual studio 2010。这里我有一个while循环,代码如下
while(cx!=ex && cy!=ey){
//a* algorithm code inside
}
然而,在第 12 次迭代之后,尽管条件仍未满足,while 循环突然中断。没有“越界”错误或类似的错误。这可能是什么原因造成的?什么是最好的解决方案,因为我可以说可能有大约几到一百次迭代。谢谢。
编辑:代码在 C++ 中。对不起。
你能提供更多的代码吗?(C++?)
例如,如果你使用 MACROS,你可能有“隐藏”的 Break 语句等。
你调试过它吗?在循环之后放置一个断点并检查 cx 和 cy 的值
由于 while 循环不太可能无缘无故地突然停止,因此我建议您首先确保 while 条件确实为假。
您没有说明您使用的是什么语言,在 C# 中您可以使用:
Debug.Print(cx == ex);
Debug.Print(cy == ey);
这应该可以帮助您找到问题所在。如果您的代码有问题,其中之一将返回true
更新: 对于 C++,方法相同,在循环结束后立即检查 4 个变量的值。