解决 C/C++ 程序执行一闪而过的方法

作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员

在 VS 编写控制台程序的时候,包括使用其他 IDE(Visual C++)编写 C/C++ 程序,经常会看到程序的执行结果一闪而过,要解决这个问题,可以在代码的最后加上 system("pause")getchar()cin.get()

推荐方法

比较常用的做法是使用 system("pause"),但这篇文章:Things to Avoid in C/C++ – system(“pause”) 不推荐使用 system("pause"),因为:

  • 不可移植:只适合 Dos 或 Windows,不适合 Linux 等。
  • 耗费系统资源:调用系统命令 system() 去做"暂停程序"的事情有点大材小用。
  • 必须添加头文件:stdlib.hcstdlib

所以,应该尽量摒弃。

推荐方法:

  • 在 C 中,使用 getchar()
  • 在 C++ 中,使用 cin.get()

替代方法

丰富一下两种替代方法:

在 C 中:

printf("按任意键继续……");
getchar();

在 C++ 中:

cout<<"按任意键继续……";
cin.clear();
cin.sync();
cin.get();

加上 cin.clear()cin.sync() 这两句,是清空缓存区,让 cin.get() 真正接收到你的键盘输入。

posted on 2024-08-24 18:05  癫狂编程  阅读(773)  评论(0)    收藏  举报

导航

好的代码像粥一样,都是用时间熬出来的