Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
unsigned intでwhile()ループを終了することは可能ですか?たとえば、ユーザーが負の値を入力したときにwhile()を終了したいとします。ただし、-1だけでなく、任意の負の値にする必要があります。
これは良い考えだとは思いませんが、少なくともCでは、符号なし整数がより大きいかどうかを確認できますINT_MAX(とにかく、2の補数については、符号/大きさと1の補数のバリアントについてはよくわかりませんが、おそらくまれです。問題が発生するまで、それらを安全に無視できるほど十分です)。
INT_MAX
もちろん、これは整数として読み込まれ、どこかで符号なしに変換されたと仮定しています。符号なしの数値のみを期待するカスタマイズされた入力ルーチンを使用する場合、先頭の-符号があるとバーフする可能性があります。
-