2012-05-06 20 views
0

このコードでは、0の答えは正しいと思いますが、私は-5で終わります。だからこの単純な算術計算が間違っているのはなぜですか?何が起こったのでしょうか?2つの変数はデバッガで0と表示されますが、減算では-5が返されます。

int daysFromCurrentDay = (i-(1 - weekDisplay)); 

// daysFromCurrentDay shows as 0 in the debugger. 
// currentDay shows as 0 in the debugger. 

daysFromCurrentDay -= currentDay; 

// daysFromCurrentDay now shows as -5... What?? 
+2

あなたのアサーションを証明するのは簡単です。 '0-0 = -5'は偽です。より多くのコンテキストを投稿できない限り、これはデバッガのユーザエラーが原因と考えられます。 – Alan

+0

@Alanそれはその前にいくつかの行を設定し、コード内の他の場所には設定しません。 –

+0

HmmmがLLDBからGDBに変更されましたが、currentDayは0ではなく5と表示されるようになりました。LLDBで何が問題になっているのかはわかりませんが、少なくとも問題をデバッグして修正できます。 –

答えて

0

これを一時的に修正しました。なぜLLDBが誤った値を示しているのか分かりませんが、今のところ問題は解決しました。

関連する問題