は、我々は次のループを持っていると仮定しましょう、それ自体で終了します。しかし、私の質問はそれがどれくらいの期間実行されるかということです。私の教授は、intが4 bytes = 32 bits
であるとすれば、-2147483648 to 2147483647
からの数値を格納できると言っているからです。これを考えると、forループでは、これらの数値の1つに到達してループがまだ進行中(このように)にプログラムされていれば、数値は正になり、条件は次のようになります。ループを終了する。は、無限ループがこれまで
私の質問はちょうどです:これはどうやって起こりますか? forループで-2147483648の数が+2147483648になるのはなぜですか?forループで+2147483648が-2147483648に変わるのはなぜですか?私は、カウンタが2147483649をヒットするとすぐにセグメンテーション違反が発生すると考えていたからです。あなたの応答に感謝します!
'これは無限のfor-loop'です...疑いなく、ループ条件' i> 2'が決してtrueにならないため、このループは一度も実行されません。 –
無限ループは 'while(true){}'になります。しかし、あなたの質問は本当に整数の算術ではなく、ループではないようです。 – MrEricSir
@TimBiegeleisen私にはこれを確認していただきありがとうございます。私は狂った薬を取っていたと思った。 – mascoj