-7

私は簡単なロジックを持っています。

int i = 0;
if (i < 0) { 
  //whatever; 
}

VSでデバッグするとi、0に設定されていることがわかりますが、ifはfalseと評価されます! どうすればいいの?

彼ら。もっと上手く表現できたかも!!!上記の式は、i が 0 の場合に false と評価する必要がありますが、これは VS でカーソルを合わせると表示されますが、角かっこに入って「何でも」します...これは正しくありません。

編集:解決策については、私の似たような名前の最近の質問を参照してください。

4

10 に答える 10

9

0 は 0 以上です。行うif (i <= 0)

于 2011-06-17T17:11:35.763 に答える
5

これは、0 < 0 が false であるためです。

于 2011-06-17T17:11:42.933 に答える
2

0 に等しい場合iは、0 未満ではないため、false です。

あなたが考えているのはif(i == 0)またはif (i <= 0)(またはそのことについてはif(i >= 0)) です。iequalsの場合、これらはそれぞれ trueです0

于 2011-06-17T17:11:35.483 に答える
2

i は 0 未満ではないからです。したがって、式は false として評価されますが、これは正しいです。

于 2011-06-17T17:11:49.093 に答える
2

0 は 0 未満ではありません。0 未満または 0 と等しい

于 2011-06-17T17:11:49.470 に答える
2

0 は 0 未満ではないため、false と評価されます。

于 2011-06-17T17:12:20.040 に答える
2

0 < 0常になりますfalse。どのような条件で評価されると予想されtrueますか?

于 2011-06-17T17:12:28.293 に答える
2

答えは、i が 0 未満ではないからです。

if ステートメントが true と評価されるためには、i が負の整数である必要があります。

于 2011-06-17T17:12:45.803 に答える
1

0 < 0は偽です。<=次の場合に true と評価する場合に使用しiます0

于 2011-06-17T17:12:32.580 に答える
1

おそらく、あなたの単純なロジックは次のようにする必要があります。

int i = 0;
if(i <= 0) {Whatever } 
于 2011-06-17T17:12:56.077 に答える