VS2010编写一个简单的控制台应用程序,运行结果闪一下就没了,在return 0;前面加上system("Pause");后Dos窗口就能停留,为什么?

Daniel_Feng 2013-10-11 09:17:59
VS2010编写一个简单的控制台应用程序,运行结果闪一下就没了,在return 0;前面加上system("Pause");后Dos窗口就能停留,为什么?是不是设置什么的有问题,能不能不加system("Pause");Dos窗口也能停留,正常情况下应该是不用加的呀
...全文
1186 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
寻找IT之路 2013-10-15
  • 打赏
  • 举报
回复
加个getchar()也可以停留,楼上说的很清楚了。。。
Wolfanature 2013-10-15
  • 打赏
  • 举报
回复
不加的话,编译执行按ctrl+F5,不过最终生成的exe还是会闪一下就没有了。
lm_whales 2013-10-15
  • 打赏
  • 举报
回复
system("pause")和getchar();效果是一样的,也是只取一个字符。 要想保险 ,用一个不会胡乱敲的字符。 比如‘q',做结束标志,循环读取,直到读到该字符。
cwt8805 2013-10-15
  • 打赏
  • 举报
回复
正常情况下是需要加的,system()函数是C和系统交互的一种方式。system("pause")的效果就和在控制台窗口输入pause一样。在C++里还可以加这样一句,std::cin.get()
galiniur0u 2013-10-15
  • 打赏
  • 举报
回复
函数运行完成,程序结束。如果想要看结果果断getchar();头文件#include <conio.h>
z_songlin 2013-10-14
  • 打赏
  • 举报
回复
Sleep()并不是在所有情况下都能成功让程序暂停的。 参考MSDN对Sleep的解释: This function suspends the execution of the current thread for a specified interval. 也就是说:Sleep只是让当前线程暂停执行。对于只有一个线程的程序来说,当然是整个程序都暂停了,而如果程序是多线程的,那么其它的线程就会继续执行。 getchar()也不是每次都能成功,看下面的例子:
int a;
	scanf("%d",&a);
	getchar();
这个程序也不能暂停,因为getchar()接收了'\n'. 终上所述,如果想成功让程序暂停执行,还是用system("pause")保险些。
赵4老师 2013-10-12
  • 打赏
  • 举报
回复
在cmd窗口里面输入以下命令运行: cd /d exe文件所在盘符和文件夹 exe文件
xiaoduo910301 2013-10-11
  • 打赏
  • 举报
回复
你选择“调试”菜单栏下的“执行”就不会有这种问题了。
buyong 2013-10-11
  • 打赏
  • 举报
回复
还可以用code::blocks,不加system("Pause");窗口也不会消失
buyong 2013-10-11
  • 打赏
  • 举报
回复
引用 楼主 u012171420 的回复:
VS2010编写一个简单的控制台应用程序,运行结果闪一下就没了,在return 0;前面加上system("Pause");后Dos窗口就能停留,为什么?是不是设置什么的有问题,能不能不加system("Pause");Dos窗口也能停留,正常情况下应该是不用加的呀
或者你开个dos窗口,用命令行方式运行,这样不用加system("Pause");
WulalaOlala 2013-10-11
  • 打赏
  • 举报
回复
引用 1 楼 max_min_ 的回复:
加个getchar();或者sleep(1000);也可以的 主要是程序执行完就结束了,让程序等待一会!
正解, 你return 0后函数退出了会退出控制台, getchar()会一直等待你输入一个字符, sleep(1000)会在程序执行完成后等待1000ms再退出。
z_songlin 2013-10-11
  • 打赏
  • 举报
回复
并不是什么设置的问题。system("Pause")你这样是在使用pause这条命令。 你打开cmd命令提示符,输入pause试试会出现什么结果。 然后在你的代码中的system("Pause")前加上system("ipconfig")试试。
max_min_ 2013-10-11
  • 打赏
  • 举报
回复
加个getchar();或者sleep(1000);也可以的 主要是程序执行完就结束了,让程序等待一会!

64,633

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧