0

私はVisual Studio 2010に取り組んでいます。ここにはwhileループがあり、コードは次のとおりです

while(cx!=ex && cy!=ey){
 //a* algorithm code inside
}

ただし、12回目の繰り返しの後、条件が満たされていないにもかかわらず、whileループが突然壊れます。「範囲外」エラーなどはありません。何が原因でしょうか? 数回から100回程度の反復があると言えるので、これに対する最善の解決策は何でしょうか。ありがとう。

編集: コードは C++ です。ごめん。

4

2 に答える 2

0

もう少しコードを提供していただけますか?(C++?)
たとえば、MACROS を使用している場合、「隠し」Break ステートメントなどを使用
できます。デバッグしましたか? ループの後にブレークポイントを置き、cx と cy の値を確認します

于 2012-11-13T17:35:52.363 に答える
0

while ループが理由もなく突然停止することはほとんどないため、while 条件が本当に false であることを確認することから始めることをお勧めします。

使用している言語については言及していませんが、C# では以下を使用できます。

 Debug.Print(cx == ex);
 Debug.Print(cy == ey);

これは、問題を見つけるのに役立ちます。コードに問題がある場合、そのうちの 1 つが返されますtrue

更新: C++ の場合も方法は同じです。ループ終了直後に 4 つの変数の値を確認してください。

于 2012-11-13T17:36:19.930 に答える