C++ 入力に関する質問
漂亮男人
漂亮男人 2017-07-03 11:42:01
0
2
890

そのようなプログラムがあります:

リーリー

大きな数値 (99999999999 など、実際には 4 バイトを超えるだけで十分です) または文字を直接入力すると、次の出力が生成されます。 リーリー

これをどう理解すればよいでしょうか?

C 初心者はひざまずいてマスターにアドバイスを求めます

漂亮男人
漂亮男人

全員に返信(2)
巴扎黑

型長を超えるデータを入力したため、cinはfail状態となり、以降の入力操作は行われません。
これらの変数は初期化していないため、すべてランダムな値です。
このとき、cin.fail()はtrueになります。入力を続けるには cin.clear() が必要です。

いいねを押す +0
淡淡烟草味

Visual Studio を使用していますか?

入力した非常に大きな数字または文字は int 型の範囲を超えているため、未定義の動作が発生します。

VS 2015におけるC++ int型の範囲は-2147483648~2147483647です。

オーバーフローが発生した場合の処理​​方法はコンパイラに依存します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート