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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011012932/article/details/51785211

简述

在 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();
 
 
  • 1
  • 2

在 C++ 中:

cout<<"按任意键继续……";
cin.clear();
cin.sync();
cin.get();
 
 
  • 1
  • 2
  • 3
  • 4

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值