c++ - C++ 程序行为异常
问题描述
我正在学习 C++。
我写了一个简单的 C++ 程序来输入我的名字、我的年龄、我妻子的名字和我妻子的年龄,然后在屏幕上打印出来。这是代码:
#include <iostream>
using namespace std;
void myFunction();
int main() {
myFunction();
return 0;
}
void myFunction() {
string hName;
string wName;
int hAge;
int wAge;
cout << "Please enter your name:" << endl;
getline(cin, hName);
cout << "Enter your age:" << endl;
cin >> hAge;
cout << hName << " is " << hAge << " years old." << endl;
cout << "\nPlease enter your wife's name:" << endl;
getline(cin, wName);
cout << "\nPlease enter your wife's age:" << endl;
cin >> wAge;
cout << wName << " is " << wAge << " years old." << endl;
}
我制作了文件:
make filename.cpp
我运行了二进制文件:
./filename
这是奇怪的输出:
Please enter your name:
Basil Ajith
Enter your age:
30
Basil Ajith is 30 years old.
Please enter your wife's name:
Please enter your wife's age:
Alfia Abubaker
is 0 years old.
在我输入我的姓名和年龄并打印出句子后,提示我输入我妻子的姓名和年龄的两个句子一起打印。我输入我妻子的年龄和最后一行
is 0 years old.
打印出来,程序退出。
为什么会出现这种奇怪的行为?