標準入力からの値の読み込みを試みる変数の定義を次のようにします。私は今、ia
とda
を印刷する場合標準入力からの変数へのプリミティブ型の値の読み取り
int ia = 3;
double da = 0;
std::cin >> ia >> da;
は今はda
は0.23とia
であり、-4.23 -5.01
、標準入力で次の値を入力-4。
なぜC++は-4.23を整数コンポーネントと浮動小数点コンポーネントに分割したのですか?換言すれば、.23はその後の読み込みのために入力ストリームに残っていたのはなぜですか? -4.23は-4に切り捨てられ、ia
に読み込まれますか?今
別のシナリオでは、私は上記のコードの同じ部分があるとしたが、今回は私がia
店0は(OKこれが続くようだ(ちょうどコンソールがある)は、標準入力ストリームにして数.23
を入力してください上記のような動作をしますが、da
には今回0が含まれていますか?この状況のように、0.23
は切り捨てられて0として読み込まれ、.23は上記のようにda
に読み込まれませんでした。
これらの状況で正確に何が起こっていると考えているのですか。ここでは2つの異なることが起こっています。