这是最近练习写代码时的一个程序:

#include<stdio.h>

#includ<stdlib.h>

int main()

{
    int max(int x,int y);
int a, b, c;

printf("输入 a,b\n");
scanf("%d,%d", &a, &b);
c = max(a, b);
printf("%d", c);
//getchar();
system("pause");
return 0;
}

int max(int x, int y)
   
{ int z;
z = x > y ? x : y;
//getchar();
return (z);

}

程序很简单,即使是作为初学者也很容易就看懂了,在vs 2013平台上运行程序会出现闪退的问题,很多文章中都有提到使用system("pause")和getchar()可以解决这个问题,但今天在调试这个程序的时候发现使用两者的结果不同,在主函数返回前加入system("pause")程序如预期的那样运行,没有问题,而使用getcher()时程序不能如期执行,只能执行到一半,无法输出我要求的c值。查看system("pause")和getchaer()的具体含义,字面理解似乎作用一样,那么为什么使用getcher()无法是程序如期执行。我尝试了多种方法改写程序,后来发现在定义的函数max中,在return(z)语句前加一条getchar()程序就能如期运行,那么原因是什么呢?

在CSDN和百度上查阅,并和同学讨论了半天,最后知道是缓冲字符的问题,getchar()会在接收键盘缓冲中留下字符,在这个程序中,输入a和b的值后按回车键,回车键就作为了缓冲字符,getchar()接收到这个字符就自动向下执行,程序自动闪退了,而在max函数中加入getchar()后,就有两条getchar(),接收回车字符值后又遇到gechar(),系统等待字符输入才能向下执行,自然就不会闪退了。

回头来看看似乎并不难理解,只是之前对getchar()使用不够熟练。

而system("pause")的作用相当于“print any kit to continue”,解决了缓冲字符的问题。

本文都是自己的见解,若有不妥,欢迎指导

转载于:https://my.oschina.net/Koreysparks/blog/661408

syetem(pause)与getchar()在解决闪退问题时的区别相关推荐

  1. C语言怎么解决闪退问题

    C语言怎么解决闪退问题 在刚开始写C语言程序的时候,编写好程序运行之后发现程序运行之后,弹出的运行结果窗口仅仅是弹出来一下就不见了,这时候有两种解决办法. 在源程序后面添加getchar(); #in ...

  2. VS2010解决闪退的方法

    VS2010解决闪退的方法 参考文章: (1)VS2010解决闪退的方法 (2)https://www.cnblogs.com/shierlou-123/p/12340514.html 备忘一下.

  3. 怎么通过iTools解决闪退,应用无法安装激活的办法

    iTools修复闪退/无法安装激活的解决办法如下,感谢各位兔子粉对我们的支持! 如果iToolsiOS或者下载的软件出现闪退/无法安装,可按以下方法解决: 1.请将iToolsiOS版至最高版本(2. ...

  4. 乐教乐学显示服务器故障怎么了,乐教乐学常见问题有哪些,如何解决闪退问题...

    乐教乐学是一款专门针对老师与家长进行沟通而搭建出来的优质平台,通过这个平台可以方便老师和家长之间建立一条快速沟通交流的渠道,通过这个平台,能够有效的加深学生学习情况以及个人信息情况,以便对学生进行更加 ...

  5. 花千骨服务器无响应,花千骨出现游戏闪退 解决闪退方案

    花千骨出现游戏闪退 解决闪退方案.花千骨是一款非常好玩的游戏,许多玩家被其优秀的内容和有趣的玩法所吸引.但是近日有小伙伴反应花千骨出现游戏闪退,小编这里整理了一些花千骨出现游戏闪退的原因和方法,下面就 ...

  6. iOS App外包开发解决闪退问题

    在iOS应用开发中,闪退(应用程序意外退出)是一个常见的问题.为了查找和解决闪退问题,可以使用以下工具和方法.今天和大家分享这方面的知识,希望对大家有所帮助.北京木奇移动技术有限公司,专业的软件外包开 ...

  7. 苹果怎么应用分身_苹果应用为什么闪退?怎么解决闪退问题?

    相信ios用户在使用应用时一定碰到这种状况,应用一直闪退或者需要重复输入账号密码登录,到后来甚至无法打开使用.大多数用户在应用频繁闪退会选择重启试试,那么为什么苹果应用会闪退,闪退后只需重启就可以了吗 ...

  8. 我的世界Java版黑屏加闪退_我的世界中国版手游快速解决闪退黑屏方法 为什么会闪退黑屏...

    玩游戏玩的最紧张刺激的时候,突然屏幕一黑,推出游戏了,这个感觉你气不气,有木有!我的世界中国版手游将端游的经典玩法完美的传承下来,制作精良的游戏画质,足以媲美端游,但是也就是因为制作优良,所以会导致个 ...

  9. 苹果html 闪退,苹果手机如何解决闪退问题 苹果闪退解决方法

    我们已经越来越离不开手机了,可谓是一机在手,走遍天下都不怕.手机主要是安卓和苹果,虽然苹果是国外的,但用的人可是不少.不过用苹果手机的人也经常会遇到这样的问题,苹果在打开某个app的时候会闪退.那苹果 ...

最新文章

  1. html5 漂亮的左右布局_欧式带小院10X16米,适合农村建房,比别墅还漂亮
  2. 设计模式之一:单例模式
  3. 标准库中的智能指针shared_ptr
  4. ajax请求成功后location.href没有跳转
  5. linux 查看整个根目录下各个文件占用情况
  6. linux下缓存命中测试,linux为什么报表缓存缓存未命中?_linux_开发99编程知识库...
  7. (Docker实战) 第五篇:建立持续集成环境02
  8. 基础篇5-python基本数据类型讲解1.1
  9. qt 串口粘包_QT C++ TCP大文件高效传输高效 解决粘包问题
  10. ZR18提高5解题报告
  11. 云计算机ppt模板,云服务云技术云计算PPT模板
  12. SENT:Sentence-level Distant Relation Extraction via Negtive Training-ACL2021
  13. 人工智能吹来的是失业的寒风还是发展的春风?
  14. 快手科技更新招股书:前11个月营收525亿元,引入10家基石投资者
  15. 环境篇-Windows下安装OpenSSL
  16. 乐理分析笔记(一) 巴赫《平均律钢琴曲集》BWV.846 序曲
  17. php后门检测工具,phpStudy后门如何检测和修复
  18. 2018年如何挣钱 ?
  19. ssm大学生兼职论坛
  20. 繁体与简体之间的转化

热门文章

  1. isEmpty 和 isBlank 区别?
  2. 统信UOS安装Nvidia显卡驱动教程
  3. G-Biosciences 固定化蛋白A,树脂的特征和应用
  4. 如何在开发项目里进行自我激励!
  5. 【Python工具】——绘制进度条,你学废了么?
  6. 2021年安全员-B证(陕西省)考试资料及安全员-B证(陕西省)考试试卷
  7. linux服务器 xwindow,linux服务之X windows
  8. 学校计算机打不开d,D-Link路由器192.168.0.1登录页面打不开怎么解决【解决方法】...
  9. vscode文件格式化配置
  10. 自己总结的redis面试题(4)