为什么我运行程序后窗口一闪而过就没了

对于控制台程序,操作系统让它开始运行前会为它造一个控制台窗口,在它结束的时候为它销毁这个这窗口.所以,当程序的最后一条语句运行完后,没什么可做了,程序运行结束,窗口就没了
一般做法有这些:
     getchar()可以等待你输入一个字符,这样可以让程序等待在那
     system("pause")执行系统的pause命令,它也会等你
另外还有个特殊的:
       如果你是在IDE里编写完了程序,想要看运行结果,那你可以按Ctrl+F5来运行程序,那样即使你不使用上面的两条语句,也可以看见程序运行完后窗口没有消失  


       这是为什么呢?

       对于普通的做法,即按F5,IDE会直接启动编译成的exe,这和你双击一个exe启动它是等效的,而对于Ctrl+F5,IDE做的事有些不一样,它会去启动cmd.exe,也就是什么 命令提示符 那个程序,然后告诉它去运行编译好的程序.cmd.exe的行为是这样的,它启动其它程序时会把自己的这个控制台(它自己也是个控制台程序)借给这个程序使用,你的程序运行起来后就向这个控制台打印东西.等你的程序运行结束了,cmd.exe再得回控制权.注意,这时你的程序结束了,但cmd.exe还没有结束.而cmd.exe有个行为,就是会在它所启动的程序运行完后等待用户按个键.也就是你看见的"请按任意键继续..",或是"Press any key to continue..",显然,这行字并不是你的程序打印的
对于这点,你可以自己启动cmd.exe试试
       最后..虽然getchar和system("pause")效果看上去一样,但是..system("pause")是很浪费的,是大材小用.使用getchar()就行了.至于为什么这样,这里就不解释了


头文件 < stdlib.h>
然后再 return 之前 加上 system("pause")//这是调用系统 操作,这句话是现实系统信息,这样的话,程序会在这条语句上运行 在DOS界面显示系统信息,达到了暂停的作用 ,按回车键 会 继续执行下一句话,如果加载最后就会
退出 程序了~
</pre><pre id="answer-content-487131439" class="answer-text mb-10" style="WORD-WRAP: break-word; MARGIN-BOTTOM: 10px; FONT-SIZE: 14px; FONT-FAMILY: arial,'courier new',courier,宋体,monospace; WHITE-SPACE: pre-wrap; COLOR: rgb(51,51,51); PADDING-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; MARGIN-TOP: 0px; LINE-HEIGHT: 24px; PADDING-RIGHT: 0px; BACKGROUND-COLOR: rgb(255,255,255)" name="code">
<pre id="answer-content-487141846" class="answer-text mb-10" style="WORD-WRAP: break-word; MARGIN-BOTTOM: 10px; FONT-SIZE: 14px; FONT-FAMILY: arial,'courier new',courier,宋体,monospace; WHITE-SPACE: pre-wrap; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; MARGIN-TOP: 0px; LINE-HEIGHT: 24px; PADDING-RIGHT: 0px; BACKGROUND-COLOR: rgb(255,255,255)" sizcache="27" sizset="64" name="code"><u sizcache="27" sizset="64"><strong sizcache="27" sizset="64"><span sizcache="27" sizset="64" style="color:#cc0000;">直接双击.exe文件窗口一闪而过这是正常的,因为它属<a target=_blank class="inner-link decor-none" href="http://zhidao.baidu.com/search?word=MS-DOS&fr=qb_search_exp&ie=utf8" rel="nofollow" target="_blank">MS-DOS</a>应用程序,而非windows应用程序。要想让其停留,只要让程序陷入等待状态就行了,例如等待输入,在程序最后加一句
cin >> a;(a变量须申明)</span></strong></u>
<u><strong><span style="color:#cc0000;">
</span></strong></u>
<pre id="best-content-1221065472" class="best-text mb-10" style="WORD-WRAP: break-word; MARGIN-BOTTOM: 10px; FONT-SIZE: 14px; FONT-FAMILY: arial,'courier new',courier,宋体,monospace; WHITE-SPACE: pre-wrap; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; MARGIN-TOP: 0px; LINE-HEIGHT: 24px; PADDING-RIGHT: 0px; BACKGROUND-COLOR: rgb(241,254,221)" name="code"><span style="color:#cc0000;"><strong><u>或者还有方法是:</u></strong></span>
<pre id="best-content-1221065472" class="best-text mb-10" style="WORD-WRAP: break-word; MARGIN-BOTTOM: 10px; FONT-SIZE: 14px; FONT-FAMILY: arial,'courier new',courier,宋体,monospace; WHITE-SPACE: pre-wrap; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; MARGIN-TOP: 0px; LINE-HEIGHT: 24px; PADDING-RIGHT: 0px; BACKGROUND-COLOR: rgb(241,254,221)" sizcache="27" sizset="65" name="code"><span sizcache="27" sizset="65" style="color:#cc0000;"><strong sizcache="27" sizset="65"><u sizcache="27" sizset="65"><a target=_blank class="inner-link decor-none" href="http://zhidao.baidu.com/search?word=getchar()&fr=qb_search_exp&ie=utf8" rel="nofollow" target="_blank">getchar()</a>(); //等待输入回车再结束</u></strong></span>
<span style="color:#cc0000;"><strong><u>因为你的运行窗口在程序一结束就关闭了,所以要加一个等待键,才能保证窗口不关闭</u></strong></span>

 
 
 
 
 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值