为什么我用vs2010.编C++程序,ctr+f5后,那个黑色dos界面会很快关闭?

我是64位windows7系统
2025-06-27 20:38:02
推荐回答(1个)
回答1:

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")保险些。