C++;控制台应用程序是否立即退出? 我试图用Visual Studio 2013学习C++,但我有一个问题阻碍了我的继续。在调试时启动控制台并从用户控制台获取输入后,立即关闭。如何使程序等待命令关闭 #include <iostream> #include <cmath> using namespace std; int main() { double number, answer; cout << "Enter a number: "; cin >> number; answer = sqrt(number); cout << "Square root is " << answer << endl; cin.get(); return 0; } #包括 #包括 使用名称空间std; int main() { 双数,答案; 数量; 答案=sqrt(编号); cout

C++;控制台应用程序是否立即退出? 我试图用Visual Studio 2013学习C++,但我有一个问题阻碍了我的继续。在调试时启动控制台并从用户控制台获取输入后,立即关闭。如何使程序等待命令关闭 #include <iostream> #include <cmath> using namespace std; int main() { double number, answer; cout << "Enter a number: "; cin >> number; answer = sqrt(number); cout << "Square root is " << answer << endl; cin.get(); return 0; } #包括 #包括 使用名称空间std; int main() { 双数,答案; 数量; 答案=sqrt(编号); cout,c++,visual-studio,console-application,C++,Visual Studio,Console Application,Remove语句 cin.get(); cin.get(); 并使用Ctrl+F5从IDE运行程序 此声明 cin.get(); cin.get(); 在上面的输入语句中输入数字后,读取标准流的输入缓冲区中存在的新行字符。或者在调用cin.get()之前,使用带有适当参数的调用cin.ignore(至少为cin.ignore())来清除缓冲区 How can I make my program wait my command to close? Ctrl+F5对我有效。看起来您缺少ig

Remove语句

cin.get();
cin.get();
并使用Ctrl+F5从IDE运行程序

此声明

cin.get();
cin.get();
在上面的输入语句中输入数字后,读取标准流的输入缓冲区中存在的新行字符。或者在调用cin.get()之前,使用带有适当参数的调用
cin.ignore
(至少为cin.ignore())来清除缓冲区

How can I make my program wait my command to close?

Ctrl+F5对我有效。

看起来您缺少ignore语句。上一个cin的回车符仍在缓冲区中

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    double number, answer;
    cout << "Enter a number: ";
    cin >> number;
    answer = sqrt(number);
    cout << "Square root is " << answer << endl;
    cin.ignore(INT_MAX, '\n');
    cin.get();
    return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
双数,答案;
数量;
答案=sqrt(编号);

我能不能总是在
返回
行上设置一个断点。我正要这么说。修改代码来实现这一点真的是不必要的。这有很多重复的地方:,,@MarkRansom当我过去建议时,我曾抱怨程序有多个退出点时会变得很困难。对此,我的回答是:如果您不确定程序在哪里终止,那么您可能需要在终止之前在其他地方进行调试。@JBentley,如果我从.exe运行程序会怎么样?如果您以
Ctrl-F5
开头,是什么阻止控制台窗口在程序退出后关闭?@MarkRansom,无论VS使用什么方法运行您的程序,都会在退出后暂停它rward。我从来都不知道为什么只有在未调试时才会出现这种行为。@Mark Ransom MS VS在关闭窗口之前插入它自己的暂停。但只有在项目配置正确的情况下:请参阅普通项目和makefile项目。@osman然后使用std::cin.ignore,正如我在文章中指出的。有了这个答案,您必须确保项目配置正确:有关普通项目和makefile项目,请参阅。