前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【C语言笔记】你的黑窗口闪退?

【C语言笔记】你的黑窗口闪退?

作者头像
正念君
发布2019-07-01 17:24:48
2K0
发布2019-07-01 17:24:48
举报
文章被收录于专栏:嵌入式大杂烩

上一篇中写到了Windows下体验Linux环境,其中的测试代码简单的打印一句话,如:

V73PHO.md.png
V73PHO.md.png

编译后得到test.exe,运行得到如下结果:

V73uKP.md.png
V73uKP.md.png

在命令行下运行可以输出结果,但是在文件夹下,双击运行test1.exe却发现黑窗口一闪而过:

V73GCj.md.png
V73GCj.md.png

怎么让黑窗口暂停呢?这里有两种方法:

【方法一】在程序的最后添加一行代码:

代码语言:javascript
复制
system("pause");

同时,添加头文件stdlib.h,即

V73arV.md.png
V73arV.md.png

system是C函数库stdlib.h中的一个函数,函数原型为:

代码语言:javascript
复制
int system (const char * command);

将命令command传给系统,其中pause命令的意思是让程序暂停一下,显示一个中文信息:请按任意键继续. . .,或者英文信息:Press any key to continue . . .

编译,运行结果为:

V73sPJ.md.png
V73sPJ.md.png

有些IDE(集成开发环境)会自动输出请按任意键继续. . .这一句,有些没有,想让程序暂停一下就得手动添加system("pause");这一句代码。

【方法二】在程序的最后添加一行代码:

代码语言:javascript
复制
getchar();

即:

V78SiQ.md.png
V78SiQ.md.png

getchar()用于读取一次按键按下(读取字符)。当程序调用getchar()时,程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车字符也放在缓冲区中)。关于getchar(),可以查看往期笔记getchar()、getche()、getch()的区别?

编译,运行结果:

V78EZT.md.png
V78EZT.md.png

以上就是解决黑窗口闪退的两种方法,如有错误,欢迎指出!


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-12-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档