#include <iostream>
#include <string>
using namespace std;
int main()
{
// Declare a variable to store an integer
int InputNumber;
cout << "Enter an integer: ";
// store integer given user input
cin >> InputNumber;
// The same with text i.e. string data
cout << "Enter your name: ";
string InputName;
cin >> InputName;
cout << InputName << " entered " << InputNumber << endl;
return 0;
}
上記のプログラムは、 InputNumber に文字列を入力すると間違った出力を生成します。そこで何が起こっているのか、 Inputnumbe に割り当てられたメモリが上書きされていると思いますが、それが問題ですか? サンプル出力も提供されます。
correct output
Enter an integer: 123
Enter your name: asdf
asdf entered 123
wrong output
Enter an integer: qwert
Enter your name: entered 0