博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
system(“pause”)和getchar()
阅读量:5010 次
发布时间:2019-06-12

本文共 600 字,大约阅读时间需要 2 分钟。

大家都知道system(“PAUSE”)可以让C程序在运行结束之前暂停运行。用system(“PAUSE”)可以解决运行程序一闪而过,看不到输出结果的问题。有程序员会用system(“PAUSE”)只是为了能够让程序暂停,以便看到运行的结果。这就好比用大炮打蚊子杀鸡用牛刀。那么system(“PAUSE”)语句究竟怎么运行呢?

下面是关于system(“PAUSE”)的一些观点:

 1.平台相关性。system(“PAUSE”)只限于有PAUSE系统命令的操作系统。像DOS系统或者Windows系统。但是在Linux或其他系统却不能,因此不具有可移植性。

 2.资源消耗大。虽然可以起到暂停程序的效果,但是在这过程中,程序却占用了大量资源。 那么system()的运行过程是怎么样呢?

(1)暂停程序

(2)调用操作系统内核

(3)打开一个系统子程序

(4)查找系统命令PAUSE

(5)分配内存给PAUSE命令,并执行

(6)等待键盘输入

(7)释放PAUSE内存

(8)退出操作系统

(9)返回程序

3.为了执行system(“PAUSE”),需要加入stdlib.h,造成程序冗余。

解决方法:可以用getchar()或者 std::cin.get代替system(“PAUSE”) 。

转载于:https://www.cnblogs.com/graceting/p/3708436.html

你可能感兴趣的文章
JAVA面向对象三大特性总结
查看>>
guid
查看>>
Python中出现“TabError: inconsistent use of tabs and spaces in indentation”问题的解决
查看>>
ajax请求
查看>>
js学习总结----DOM增删改和应用
查看>>
希尔伯特矩阵(Hilbert matrix)
查看>>
(20)sopel算法
查看>>
学习总结 javascript 闭包
查看>>
实验吧一个小坑注入
查看>>
【 D3.js 高级系列 — 8.0 】 打标
查看>>
Mac必备软件推荐
查看>>
Android Gson深入分析
查看>>
display:flow-root
查看>>
判读字符串是否为空的全局宏-分享
查看>>
iOS中Block的基础用法
查看>>
mac 终端 使用ftp命令
查看>>
22-reverseString-Leetcode
查看>>
Centos 开机自动联网
查看>>
cocos2dx使用lua和protobuf
查看>>
HDOJ 5630 Rikka with Chess
查看>>