输入两个数字后程序关闭

Program closes after entering two numbers

本文关键字:程序 数字 两个 输入      更新时间:2023-10-16
#include <iostream>
int main() {
    std::cout << "Please enter two numbers" << std::endl;
    int v1, v2 = 0;
    std::cin >> v1 >> v2;
    std::cout << "The sum of " << v1 << " and " << v2
        << " is " << v1 + v2 << std::endl;
    std::cin.get(); 
    return 0;
}

我添加了 cin.get((,以便我可以在终端关闭之前在终端中看到结果,但由于某种原因,程序在打印结果后仍然立即关闭。有没有更好的方法来防止窗口在运行代码后立即关闭?

std::cin >> v1 >> v2;

此时,您输入,例如:

4 5 <Enter>

(使用 <Enter> 键生成换行符(。

第一个>>解析"4"。

第二个>>解析"5"。

你对get()的调用读的是换行符,'n'.

然后您的程序立即终止。

故事的寓意

使用 std::getline() 从终端(而不是>>运算符(读取以交互方式输入的文本行。这就是std::getline()的目的。