2 baidu 24736703 baidu_24736703 于 2016.04.23 15:46 提问

为什么我这个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;

}
求解答!!谢谢大神

4个回答

qq_34111510
qq_34111510   2016.04.23 16:25

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

q610098308
q610098308   2016.04.23 17:35

return 0;
前添加

getchar();

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

sinat_31601333
sinat_31601333   2016.04.23 18:20

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

sinat_31601333
sinat_31601333 回复Kobe___Bryant:程序运行结束窗口就是要自动关掉的,没有加的话其实是编译器自动帮你加了,有些不帮你加的话就直接程序跑完就正常退出了啊没有必要暂停的,所以你如果想看结果的话要让它暂停在退出之前
大约 2 年之前 回复
baidu_24736703
baidu_24736703 谢谢,解决了,我多次碰到这个问题,请问能解释一下原因吗??
大约 2 年之前 回复
EmilyLi1114
EmilyLi1114   2016.11.05 13:12

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

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

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

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

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于vs2010运行C程序时,运行结果窗口一闪而过的问题
用VC++6.0和VS中的C++编程,今天正常安装好后,编写一个正确的程序,可运行的时候,DOS窗口一晃而过,也算是正常编译了,但我不懂的是它为什么消失得这么快? 会出现dos界面是因为你程序中可能用到了需要用dos显示结果(或者输入之类的)的函数,比如printf()函数,马上消失是因为你执行程序是一步到位的,dos界面做完你需要它做的事情之后就被销毁了,如果你想看清楚整个过程,可以设置断点,
visual studio 2010 运行后 不显示按任意键退出,窗口直接消失
visual studio 2010 运行后 不显示按任意键退出,窗口直接消失 2010-08-15 00:06wtj7797live | 分类:其他编程语言 | 浏览6130次 我找不到工程属性按钮... 你的方法是使得运行后可以显示控制台,我的问题是控制台显示了,但运行结束后就消失了,因此打印的内容都来不及看,我希望运行结束后控制台还在,最底下显示一行”按任意键退出
实现关闭ssh继续运行程序--nohup和screen
转载自:http://iceeggplant.blog.51cto.com/1446843/745240 有人问起了如果下班了,关闭ssh以后,还继续运行自己的程序怎么办,以前用nohup可以解决,但是对方要求,第二天来的时候,一开ssh,还能在屏幕 上显示执行的程序变化中的数据,估计nohup是不行了,研究了一下,一个叫做screen的命令能达到这个目的,安装也很方便。
程序编译成功,但是运行时不出现运行结果的界面(TC)
例子:以下是一个画彩色圈的程序 #include #include #include main() { int gdriver,gmode,i,j; gdriver=DETECT; initgraph(&gdriver,&gmode,"C:\\BGI");     //多数情况是此处写错了 存放图形驱动文件的路径 ,这个路径一般在TC的安装目录下 setbkcolor(0)
关于wintc编译成功,输出黑框中无结果显示
win-tc编译成功,也加了getch(),但是结果无显示(电脑是win7  32位) #include "stdio.h" #include "conio.h" main() {     printf("Hello, world\n");     getch(); } 像这种自带的小程序都无输出结果是为啥啊? 还有就是输出框的背景颜色也没法改变。。求解
java程序运行自动退出的问题
启动了定时任务的时候,发现jar程序在运行了一段时间后会自动的退出,网上搜下发现是jvm的默认的gc算法出了问题,敲以下的命令后,程序终于顺利跑了起来,记下来: Java -jar -Xms2048m -Xmx2048m -XX:MaxPermSize=768m -XX:+UseParallelGC
C++ IDE 运行程序时,程序运行结束窗口自动关闭的问题
C程序还是C++程序都先include头文件stdlib.h,再在程序执行结束之前加入代码 system(“pause”);
C语言执行程序一闪而过的问题
解决问题方法: 方法一:getchar() 即在主函数尾部或程序最后加上getchar(); 也就是接受键盘输入,这样程序就不会一闪而过,因为程序还没有执行完! 注:当代码中存在scanf()函数时,需要在getchar();前加上fflush(stdin);清除键盘缓存,以防影响getchar()的接收! 方法二:getch() getch();的使用很简单,也是加载
Python运行正常但是不出结果的可能问题
1、 检查主函数 是否有多余的 空格(待更新)
程序运行一段时间就自行退出,快把我困惑死了
编写了一个农场外挂,使用了QHttp,外挂功能都实现了,程序运行几十分钟到一个小时不等,就弹出程序异常错误,被系统终止了,eclipse 控制台报告:QWaitCondition: Destroyed while threads are still waitingQObject::killTimers: timers cannot be stopped from another threadA