可能重复:
How to stop C++ console application from exiting immediately?
我有以下控制台程序:
#include <iostream>
using namespace std;
int main()
{
int a;
int b;
cout<<"Enter a";
cin>>a;
cout<<"Enter b";
cin>>b;
int result = a*b;
cout<<"You entered"<<a<<"and you entered"<<b<<"Their product is"<<result<<endl;
return 0;
}
一旦我运行程序,它接受输入但退出之前我可以查看结果。在我可以查看结果之前,我需要做什么才能退出程序?/ p>
答案 0 :(得分:2)
顺便说一下,在您获得result
和a
的输入之前,您已经计算了b
的值,因此result
的值将是0
如果你的编译器汇编了零初始化堆栈上声明的任何变量的代码,或者只是一些随机值。实际上,您甚至不需要声明result
...您可以在cout
语句中计算它的值。所以你可以调整你的最后一行,看起来像这样:
cout << "You entered" << a <<"and you entered"<< b
<< "Their product is" << (a*b) << endl;
要停止退出该计划,您可以从char
抓取另一个stdin
。所以你可以做到以下几点:
cout << "Press any key to exit..." << endl;
char extra;
cin >> extra;
答案 1 :(得分:1)
使用getche(),getch()或任何基于字符的输入函数。
int main()
{
int a;
int b;
int result = a*b;
cout<<"Enter a";
cin>>a;
cout<<"Enter b";
cin>>b;
cout<<"You entered"<<a<<"and you entered"<<b<<"Their product is"<<result<<endl;
getch(); //use this.It would wait for a character to input.
return 0;
}
通常我们使用Enter来退出由其获取ASCII值的程序。但是因为我们没有将它存储在变量中没用。
答案 2 :(得分:1)
如何在system ("pause");
声明之前添加return 0;
呢?
答案 3 :(得分:1)
您可以要求更多反馈
cout<<"You entered"<<a<<"and you entered"<<b<<"Their product is"<<result<<endl;
char stop;
cin >> stop;
答案 4 :(得分:0)
<强>窗:强>
//1
system ("pause");
//2
#include<conio.h>
_getch();
.NET(Windows):
System::Console::ReadLine();
<强>总体:强>
#include <cstdlib.h>
return EXIT_SUCCESS;
答案 5 :(得分:0)
当我在Windows上时,我喜欢使用conio.h中的getch(),但这不太便于使用:/