做题的时候有时会用到getchar()接收换行符,然而让人困惑的是一般使用scanf("%s", str)这样的形式读取字符串的时候似乎并没有考虑这个问题。网上通常会给你讲大道理缓冲区啥的,然后听懂后自己得不得的出结论全看天赋(摊手),所以在这里直接下结论了:

1.一个scanf后的确有回车在缓冲区里,但是scanf("%s", str)这样的不会把之前留下的换行符读取掉(就是无视了)。这就是平时用%s解决“一个数字,后面跟N个字符串”这样的输入没有问题的原因。

2.相对的,如果用%c,那就要考虑接收换行符的事情了,在这里插入图片描述

例如这样的话,在缓冲区的空格就会被读取,所以两个scanf中间需要getchar()。(再次吐槽某些实验,贴出代码一长串还要自己先找关键代码段)

3.gets()也是会读取之前留下来的换行符的,所以也需要一个getchar()。类似实验可以参照2的截图,设置断点或者用printf查看输出结果都行。

c语言——什么时候使用getchar()读取换行符相关推荐

  1. 换行符后需要加逗号吗c语言,为什么大多数编程语言都在换行符之前而不是换行符之后使用逗号?...

    为了解释为什么提出这个问题,我将解释python3常用的多行列表/字典符号以及实际的语法定义是什么. 这是python3中最常用的多行列表符号: list_variable = [ 'value1', ...

  2. python读取换行符

    之前学c语言的时候可以用getch来获取换行符,python应该也可以. 问了老师后得知需要用调用sys # sys.stdin.readline( )会将标准输入全部获取,包括末尾的换行符'\n', ...

  3. C语言中空格符,制表符,换行符详解

    空白符的含义模糊,通常是指空格' ',其ASCII码为32. 制表符为'\t',相当于4个或8个空格符,其ASCII码为9. 换行符为'\n',作用是将光标移至下一行,其ASCII码为10. 此外,还 ...

  4. C语言知识点:熟悉回车与换行符

    前言 编程有很多的知识点,不用的时候,不去理会,用到时,需要认真的熟悉下. 最近研究Xshell串口终端,控制台的串口打印输出显示时,发现回车.换行,还是需要注意的. 顺便梳理下Windows下的回车 ...

  5. python读文件换行符怎么处理_python tips:文件读取——换行符的问题

    问题:在windows系统中,换行的符号是'\r\n'.python在读文件的时候为了系统兼容,会默认把'\r','n','\r\n'都视作换行.但是在windows文件中,可能在同一行中同时存在'\ ...

  6. java中nextLine(),读取换行符的解决

    一:问题描述 当输入完第一值后,就未能输入后来的字符串 package com.wyj.two;import java.util.Scanner;public class text {public s ...

  7. 每三个数换行 用C语言表示,关于换行符:使用fscanf()读取每行3个数字的文件,为什么“%d%d%d%* c”和“%d%d%d”一样好?...

    我知道%d格式说明符,当在fscanf()中使用时,会读取一个整数并忽略其前面的空白,包括换行符(我已对其进行了验证).但是在下面的程序中,我使用fscanf()来从多行(每个行包含3个整数)的文件读 ...

  8. C语言编辑换行符怎么打,c语言中的换行符怎么打

    2016-08-12 15:54辛国海 客户经理 C语言中回车,换行,空字符与空格:fgets和gets在读取换行符的区别 摘要:C语言中,我们常常从终端输入,并且输出到终端,键盘上的回车,输入到缓冲 ...

  9. c语言常量换行符,C语言中换行符问题

    在缓冲输入中,换行符的确是个麻烦的问题,在这里做一个总结. 1.getchar() 记住:getchar()函数 读取每一个字符!每一个!包括空格,制表符和换行符. 错误代码: while(getch ...

最新文章

  1. Matlab数据的可视化 -- 极坐标图及其与直角坐标图的转换
  2. 【 FPGA 】总线实现形式之三态门
  3. 【Linux Deploy】一、Linux Deploy安装配置使用教程
  4. win10 纯净版安装 U盘制作
  5. yoyo跑_面对“跑腿服务坑”:悠悠跑腿、蜂鸟配送、快跑者,跑腿公司该何去何从?...
  6. mysql哪些字段适合索引_(转)Mysql哪些字段适合建立索引
  7. 信息学奥赛一本通 1411:区间内的真素数 | OpenJudge NOI 1.13 23:区间内的真素数
  8. python软件下载安装百度网盘-Python自动化测试视频教程【百度云盘下载】
  9. LeetCode 74. Search a 2D Matrix
  10. 大气压力换算公式_大气压强计算新方法
  11. Matlab 和 Simulink 教程学习基础入门
  12. 来啊battle啊,Java和Python你站哪个?
  13. 鸿蒙会出电脑系统吗,鸿蒙有没有可能出PC操作系统?
  14. 七夕情人节精美告白气球表白页
  15. Testin发布众测平台 助开发者发现质量缺陷建立质量体系
  16. 字符类型与Unicode 编码
  17. C语言中逗号运算符和逗号表达式!
  18. 使用Gem5在aarch64架构下运行SPEC2006样例(三)——样例运行
  19. ESP32开发(一):搭建windows开发环境--ESP-IDF工具命令提示符操作
  20. 多个PDF怎么合并?赶快看这篇文章学习一下

热门文章

  1. vue-router和react-router嵌套路由layout配置方案的区别
  2. 存储服务器的操作系统,存储服务器是什么操作系统
  3. Entity Framework Code First模式基础知识及入门实例01
  4. Android之提示错误Can not perform this action after onSaveInstanceState
  5. Android之解决TabLayout里面每个Tab项的间距和修改指示线的长度(非反射)和修改选中字体大小
  6. Android之解决Android8.0手机(Notification)收不到自定义消息通知以及其它手机得到数据不同步
  7. Android之自定义checkbox并解决内容和复选框之间的具体问题
  8. C和指针之字符串编程练习3
  9. linux下使用pidcat找bug
  10. 一篇文学会商用可编辑问卷表单制作【iVX 十二】