VS2010编纂一个简单的控制台应用程序,运行结果闪一下就没了,在return 0;前面加上system("Pause");后Dos窗口就能停留,为什么
VS2010编写一个简单的控制台应用程序,运行结果闪一下就没了,在return 0;前面加上system("Pause");后Dos窗口就能停留,为什么?
VS2010编写一个简单的控制台应用程序,运行结果闪一下就没了,在return 0;前面加上system("Pause");后Dos窗口就能停留,为什么?是不是设置什么的有问题,能不能不加system("Pause");Dos窗口也能停留,正常情况下应该是不用加的呀
------解决方案--------------------
加个getchar();或者sleep(1000);也可以的
主要是程序执行完就结束了,让程序等待一会!
------解决方案--------------------
并不是什么设置的问题。system("Pause")你这样是在使用pause这条命令。
你打开cmd命令提示符,输入pause试试会出现什么结果。
然后在你的代码中的system("Pause")前加上system("ipconfig")试试。
------解决方案--------------------
正解, 你return 0后函数退出了会退出控制台, getchar()会一直等待你输入一个字符, sleep(1000)会在程序执行完成后等待1000ms再退出。
------解决方案--------------------
或者你开个dos窗口,用命令行方式运行,这样不用加system("Pause");
------解决方案--------------------
还可以用code::blocks,不加system("Pause");窗口也不会消失
------解决方案--------------------
你选择“调试”菜单栏下的“执行”就不会有这种问题了。
------解决方案--------------------
在cmd窗口里面输入以下命令运行:
cd /d exe文件所在盘符和文件夹
exe文件
------解决方案--------------------
Sleep()并不是在所有情况下都能成功让程序暂停的。
参考MSDN对Sleep的解释:
This function suspends the execution of the current thread for a specified interval.
也就是说:Sleep只是让当前线程暂停执行。对于只有一个线程的程序来说,当然是整个程序都暂停了,而如果程序是多线程的,那么其它的线程就会继续执行。
getchar()也不是每次都能成功,看下面的例子:
这个程序也不能暂停,因为getchar()接收了'\n'.
终上所述,如果想成功让程序暂停执行,还是用system("pause")保险些。
------解决方案--------------------
system("pause")和getchar();效果是一样的,也是只取一个字符。
要想保险 ,用一个不会胡乱敲的字符。
比如‘q',做结束标志,循环读取,直到读到该字符。
------解决方案--------------------
加个getchar()也可以停留,楼上说的很清楚了。。。
------解决方案--------------------
函数运行完成,程序结束。如果想要看结果果断getchar();头文件#include <conio.h>
------解决方案--------------------
正常情况下是需要加的,system()函数是C和系统交互的一种方式。system("pause")的效果就和在控制台窗口输入pause一样。在C++里还可以加这样一句,std::cin.get()
------解决方案--------------------
不加的话,编译执行按ctrl+F5,不过最终生成的exe还是会闪一下就没有了。
VS2010编写一个简单的控制台应用程序,运行结果闪一下就没了,在return 0;前面加上system("Pause");后Dos窗口就能停留,为什么?是不是设置什么的有问题,能不能不加system("Pause");Dos窗口也能停留,正常情况下应该是不用加的呀
vs2010
控制台
应用程序
dos
C++
------解决方案--------------------
加个getchar();或者sleep(1000);也可以的
主要是程序执行完就结束了,让程序等待一会!
------解决方案--------------------
并不是什么设置的问题。system("Pause")你这样是在使用pause这条命令。
你打开cmd命令提示符,输入pause试试会出现什么结果。
然后在你的代码中的system("Pause")前加上system("ipconfig")试试。
------解决方案--------------------
正解, 你return 0后函数退出了会退出控制台, getchar()会一直等待你输入一个字符, sleep(1000)会在程序执行完成后等待1000ms再退出。
------解决方案--------------------
或者你开个dos窗口,用命令行方式运行,这样不用加system("Pause");
------解决方案--------------------
还可以用code::blocks,不加system("Pause");窗口也不会消失
------解决方案--------------------
你选择“调试”菜单栏下的“执行”就不会有这种问题了。
------解决方案--------------------
在cmd窗口里面输入以下命令运行:
cd /d exe文件所在盘符和文件夹
exe文件
------解决方案--------------------
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")保险些。
------解决方案--------------------
system("pause")和getchar();效果是一样的,也是只取一个字符。
要想保险 ,用一个不会胡乱敲的字符。
比如‘q',做结束标志,循环读取,直到读到该字符。
------解决方案--------------------
加个getchar()也可以停留,楼上说的很清楚了。。。
------解决方案--------------------
函数运行完成,程序结束。如果想要看结果果断getchar();头文件#include <conio.h>
------解决方案--------------------
正常情况下是需要加的,system()函数是C和系统交互的一种方式。system("pause")的效果就和在控制台窗口输入pause一样。在C++里还可以加这样一句,std::cin.get()
------解决方案--------------------
不加的话,编译执行按ctrl+F5,不过最终生成的exe还是会闪一下就没有了。