我第一次从PHP使用C++。我在玩一些代码。据我所知,cin.get();假定要在我按下一个键之前停止关闭窗口,但是由于前面的代码,它似乎无法正常工作,我不知道问题出在哪里。这是我的代码:

#include <iostream>
#include <cstdlib>

using namespace std;

int multiply (int x, int y);

int main ()
{
    int x;
    int y;

    cout << "Please enter two integers: ";
    cin >> x >> y;

    int total = multiply(x, y);
    cout << total;

    cin.get();
}

int multiply (int x, int y) {
    return x*y;
}

最佳答案

放一个

cin.ignore(numeric_limits<streamsize>::max(),'\n')

>> x >> y;之后(或cin.get()之前)。

这将刷新cin的缓冲区并删除仍存在的未决\n,因为cin读取x和y,但还会读取最后一个返回值(在y之后)。当您调用cin.get()时,将读取该内容。如果刷新缓冲区,cin.get()将看到一个空缓冲区,一切都很好。

关于c++ - cin.get()不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8499816/

10-15 00:02