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

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/306729.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[项目更新] 集成RabbitMQ队列与EventBus总线

(Blog.Core框架开发情况,着色部分为本次新增)终于项目继续迭代更新了,在开源这两年多,也是感谢每一个支持Blog.Core项目的同学,同时也感谢每一个在生产环境中使用,并提出意见和建议的小伙伴&…

cv2.imread读取图像结果none_python cv2.imread 读取中文路径的图片返回为None的问题

此篇文章首发于我的csdn博客,见原文链接。使用cv2读取图片是常见的事情,但如果,输出图片形状大小时出现报错“ NoneType object has no attribute shape”,后来排查发现读取图片的返回值image为None, 这就说明图片根本…

关于大学计算机相关专业学习路线的见解与分析

推荐阅读: 开学了,计算机的大学生们,送你们一篇经书,希望你们的四年不负年华! 入计算机专业的师弟师妹,别再迷茫了,我整理一份CS的学习路线大全!帮你超越大部分的同学! …

利用模板化应对ERP业务模型的快速变化

源宝导读:ERP这类复杂系统中,业务模型是系统功能的核心抽象,但业务模型对于不同的客户会有差异,也会随着业务发展而变化。虽然可以对业务组件进行复用,但客户定制的成本依然较高,本文将讨论如何利用模板化应…

mockmvc get请求 tm的 一直404_大家快来看看404的兄弟姐妹

码个蛋(codeegg)第 624 次推文作者:xiaoxiunique博客:https://juejin.im/post/5cd2ea425188254459335583做开发的我们肯定少不了跟网络数据打交道,我们都知道,我们进行网络请求,无论成功还是失败,后台都会给…

网传不要升级.NET5的诸多原因,你赞同几个?

.NET5正式发布有十多天,博客园、知乎、技术群都讨论的非常热烈。关于项目是否迁移.NET5的话题讨论的尤为热烈,作为.NET十年老司机要告诉你,.NET5的迁移势在必行,当下就是最好的时机!犹豫项目是否升级到.NET5的&#xf…

sort()函数

sort()函数 标准库里的排序函数的使用方法 I)Sort函数包含在头文件为#include的c标准库中,调用标准库里的排序方法可以不必知道其内部是如何实现的,只要出现我们想要的结果即可! II)Sort函数有三个参数:…

WPF开发的实用小工具 - 快捷悬浮菜单

WPF开发的实用小工具 - 快捷悬浮菜单❝本文由网友投稿,Dotnet9站长整理。站长觉得这小工具很实用,站长家里、公司也在尝试使用了。行文目录:这工具有什么用?正文源码获取及应用下载体验站长的建议1. 这工具有什么用?问…

accdb原有的数据怎么清除_VBA中利用数组对数据批量处理的方法

大家好,今日继续和大家分享VBA编程中常用的常用"积木"过程代码。这些内容大多是我的经验和记录,来源于我多年的经验。今日分享的是NO.225-NO.226,内容是:NO. 225:数组的赋值和回填工作表NO. 226:…

问题 A: 约瑟夫问题(普及第一关模拟)

题目描述 求解约瑟夫(Joseph)问题。有n个小孩围成一圈,给他们从1开始依次编号,从编号为1的小孩开始报数,数到第m个小孩出列,然后从出列的下一个小孩重新开始报数,数到第m个小孩又出列&#xff…

云南河道 kml文件_处理能力提升 4 倍 ,大疆智图 4 天完成 5 公里河道建模

马陵河是江苏省宿迁市老城区一条重要排涝河道,1974 年人工开挖而成,全长 5.2 km,汇水面积 11.6 km,居住人口 13.85 万人。河道水质长期处于黑臭状态,严重影响周边居民日常生活,被称为宿迁的“龙须沟”。宿迁…

linq 查询的结果会开辟新的内存吗?

一:背景 1. 讲故事昨天群里有位朋友问:linq 查询的结果会开辟新的内存吗?如果开了,那是对原序列集里面元素的深拷贝还是仅仅拷贝其引用?其实这个问题我觉得问的挺好,很多初学 C# 的朋友或多或少都有这样的疑…

问题 B: 十进制到二进制的转换

这个问题我们来用栈来实现 首先,我们先定义一个栈的结构体(栈的结构体与链表的结构体不可同,栈的结构体第二项是用int定义栈的顶端; 而链表的第二项,是用struct定义一个指针) struct stack{int data[10005];int top;…

javascript内存泄漏调试工具mac_node.js 内存泄漏的秘密

一直以来,跟踪 Node.js 的内存泄漏是一个反复出现的话题,人们始终希望对其复杂性和原因了解更多。并非所有的内存泄漏都显而易见。但是,一旦我们确定了其模式,就必须在内存使用率,内存中保存的对象和响应时间之间寻找关…

c++STL中的find()函数 有两种使用方法

cSTL中的find()函数 有两种使用方法 方法一: 开头引头文件:中的函数 其调用形式为 find(start,end,value) start搜寻的起点,end搜寻的终点,要寻找的value值; 如果没有找到,则返回end。函数的返…

关于C# Span的一些实践

Span这个东西出来很久了,居然因为5.0又火起来了。特别感谢RC兄弟提出这个话题。相关知识在大多数情况下,C#开发时,我们只使用托管内存。而实际上,C#为我们提供了三种类型的内存:堆栈内存 - 最快速的内存,能…

问题 C: 【例2-3】围圈报数

题目描述 有&#xff4e;(n<100)个人依次围成一圈&#xff0c;从第&#xff11;个人开始报数&#xff0c;数到第&#xff4d;个人出列&#xff0c;然后从出列的下一个人开始报数&#xff0c;数到第&#xff4d;个人又出列&#xff0c;…&#xff0c;如此反复到所有的人全部…

怎样用python批量处理文件夹_python批量处理文件或文件夹

本文实例为大家分享了python批量处理文件或文件夹的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 # -*- coding: utf-8 -*- import os,shutil import sys import numpy as np ##########批量删除不同文件夹下的同名文件夹############# def arrange_file(dir_path0…

leetcode-349-两个数组的交集

给定两个数组&#xff0c;编写一个函数来计算它们的交集。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,2,2,1], nums2 [2,2] 输出&#xff1a;[2] 示例 2&#xff1a; 输入&#xff1a;nums1 [4,9,5], nums2 [9,4,9,8,4] 输出&#xff1a;[9,4] 说明&#xff1a; 输…

Leansoft再发招贤令:面试官徐磊有话讲 | IDCF

&#xff08;图片来源于网络&#xff09;2020是Leansoft成立的第五年&#xff0c;凭借专业的服务及实施能力&#xff0c;逐渐成长为国内唯一的端到端专业DevOps实施服务公司。Leansoft是一家怎样的公司呢&#xff1f;准确地说&#xff0c;我们其实是国内唯一一家提供端到端的De…