为什么我这个c++程序运行后直接关掉了窗口,就是应该运行出来了,但是还没来得及看结果就被自动关了

程序代码如下:
#include "stdafx.h"
#include
#include

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
double daphne = 100.0;
double cleo = 100.0;
const double rate_1 = 0.1;
const double rate_2 = 0.05;
double year = 0;
double temp = cleo - daphne;
while (temp <= 0)
{
year++;
daphne = daphne + daphne*rate_1*year;
double k = pow(1 + rate_1, year);
cleo = cleo*k;
temp = cleo - daphne;
}

cout << "after " << year << " years, cleo has more money than daphne! " << endl;
cout << "the money of daphne is: " << daphne << endl;
cout << "the money of cleo is: " << cleo << endl;
return 0;

}
求解答!!谢谢大神

在return 0;前面加system("pause");让程序暂停。不然运行完直接就结束掉了

没有等待键盘输入 所以闪退 ,运行了以后直接退出了 暂停一下咯 。最后加一行代码就可以了。

return 0;
前添加

getchar();

这样不会直接退出,你点击键盘后才会退出控制台;
或者你可以调试模式运行,在return 0;前打断点,会自动运行到断点,停住。

一闪而过是程序自动结束,同时编译器没有提供结果驻留功能。对于此种情况,可以手动在代码结尾增加驻留功能的函数。常用的有如下两种:

1 通过getch函数驻留。
getch会等待从屏幕的输入,在main函数退出前,增加
getch();
调用,系统会等待输入,直到有新的输入,才会退出界面。

2 通过system("pause");来实现驻留。
在main退出前调用
system("pause");
会调用系统的pause函数,提示并实现按任意键退出程序效果。

如果是已经编译好的C语言程序,可以通过开始->运行,键入cmd后回车。
在打开的命令行窗口,将可执行文件拖动到窗口上,再回车即可运行该程序,在此窗口不会出现闪退,从而观察运行结果。

由于该问题仅在windows平台出现,所以以上介绍均针对windows平台。