首页 > 解决方案 > 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.

打印出来,程序退出。

为什么会出现这种奇怪的行为?

标签: c++output

解决方案


推荐阅读