【C-函数】scanf函数原理

2023-11-06

1、行缓冲

  行缓冲的意思就是我们输入的字符放入缓冲区,直到输入了回车键进行换行才进行 I/O 操作。

2、scanf原理

  在C中的标准输入函数scanf,使用的就是行缓冲的标准输入缓冲区。而我们在结束输入,也就是按下回车键进行换行时,缓冲区不仅会有我们输入的数据,还会有我们输入的换行字符 '\n ’
  比如我们使用scanf输入 一个整型数据 10,当我们按下回车后,标准输入缓冲区缓冲的不是“ 10 ”,而是 “10/n”

3、scanf案例

1)代码

#define _CRT_SECURE_NO_WARNINGS // 这个宏就像一个开关,定义了表示 stdio.h 允许使用scanf,一般不用scanf_s
#include<stdio.h>

int main() {
	int a;
	float b;
	char c;
	scanf("%d",&a);
	printf("a = %d\n",a);
	scanf("%f", &b);
	printf("b = %f\n",b);
	scanf("%c",&c);
	printf("c = %c\n",c);
	return 0;
}

2)结果

5
a = 5
6
b = 6.000000
c =


D:\Works of IT\VisualStudio\cskaoyan\
按任意键关闭此窗口. . .

  输入的字符c的scanf并没有阻塞等待输入字符到缓冲区,而是读取了缓冲区的一个 ’ \n '。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【C-函数】scanf函数原理 的相关文章

  • Modern C++ for C程序员 第2部分

    文章目录 Modern C for C程序员 第2部分 命名空间 类 资源获取即初始化 RAII 智能指针 线程 原子操作 锁 错误处理 总结 这是bert hubert的系列文章 旨在帮助c代码人快速了解c 实用的新特性 原文链接 htt
  • Vue项目运行报错:Cannot read properties of undefined (reading ‘install‘)

    在做vue2项目时出现如下错误 页面空白且控制台出现如下错误 报错原因 vue router安装的版本太高 一般vue2的项目对应的版本是vue router 3版本 解决办法 在控制台输入 cnpm install save vue ro

随机推荐

  • Open3D中RANSAC平面拟合

    文章目录 一 函数介绍 二 代码实现 三 结果展示 四 总结 五 坐标中心化 一 函数介绍 使用RANSAC从点云中分割平面 用segement plane函数 这个函数需要三个参数 destance threshold 定义了一个点到一个
  • eager模式和graph模式 Tensorflow

    Tensorflow2在原有graph模式基础上引入了eager模式 graph是tensorflow v1的图模式 eager是立即执行运算模型 Tensorflow2的eager模式和graph模式 1 哔哩哔哩 bilibili 不需
  • Python手册(IDE)--Jupyter Notebook

    文章目录 Anaconda Jupyter Notebook 快捷键 魔术命令 Anaconda Anaconda 是一个用于科学计算的 Python 发行版 支持 Linux Mac Windows 包含了众多流行的科学计算 数据分析的
  • 安全配置

    基线管理之centos安全配置 1 检查不用的链接 ip link show up 如果有需要关闭的接口 可以使用 ip link set down 2 关闭IP转发 先查看ip转发配置 sysctl net ipv4 ip forward
  • 求两条轨迹间的hausdorff距离_轨迹规划之位置插补

    假设我们有一个向量的序列 如果我们想对这个序列进行插值 那么 我们可以分别对每一对向量 和 进行插值 然后将插值的曲线连接起来 也就 是我们所说的样条 Spline 很明显 这个曲线虽然是连续的 但是它的一阶导数 切线 在切换插值向量时都不
  • 矩母函数和生成函数

    关于矩母函数和生成函数 今天来说道说道 系本人自身学习理解 不对之处 还望各位看官海涵 首先 这是两个名字 二者不是一个东西 这是首先需要搞清楚的 但是二者的定义却有着相同的目的即 求若干独立随机变量和的分布 1 矩母函数 仅连续型随机变量
  • 基于Python+Pyecharts+爬虫实现的对全球疫情新增患者可视化分析

    文章目录 前言 1 爬取网站获取全球各国新冠新增人数 1 1挑选网站进行网页源码分析 1 2对该网站采用requests库进行网络爬取 1 3将返回的字典添加到刚才所建立的空列表当中 2 对所得数据进行可视化分析 2 1采用pyechart
  • Grafana

    为什么80 的码农都做不了架构师 gt gt gt 最近在调研InfluxDB的时候接触到了Grafana Grafana是什么 一个类似Kibana的东西 也是对后端的数据进行实时展示 那么Grafana和Kibana有什么区别 在我看来
  • tp5中树状图数据格式的返回

    1 条件 数据库中的数据必须是无限递归数据 2 数据处理 public function treeListApi list this gt db class gt field id name parent id gt where is de
  • str功能的实现

    1 strcat 功能 把src所指字符串添加到dest结尾处 覆盖dest结尾处的 0 并添加 0 程序 char strcat char dest const char src char addr dest int i 0 j 0 as
  • 私服的搭建

    私服 基于nexus 3 20 1 下载地址 https help sonatype com repomanager3 download 目前该下载地址国内下载根本下载不了 你可以去百度找找看 分享一个百度网盘下载链接 链接 https p
  • Oracle 索引

    1 索引介绍 索引是用于加速数据存取的数据对象 是对数据表中一个或多个列进行排序的结构 合理的使用索引可以大大降低I O次数 从而提高数据访问性能 2 问题 为什么需要索引 Select from scott emp where empno
  • python(五)函数、模块、包

    模块 包的概念 在Python中 一个 py文件就称之为一个模块 Module 我们在编写程序的时候 也经常引用其他模块 包括Python内置的模块和来自第三方的模块 你也许还想到 如果不同的人编写的模块名相同怎么办 为了避免模块名冲突 P
  • oracle多个表count值求和

    union和union all关键字都是将两个结果集合并为一个 但这两者从使用和效率上来说都有所不同 union在进行表链接后会筛选掉重复的记录 所以在表链接后会对所产生的结果集进行排序运算 删除重复的记录再返回结果 而union all只
  • docker安装fastDFS

    一 docker安装 1 搜索镜像 2 拉取镜像 最新版本 docker pull delron fastdfs 3 使用镜像构建容器 3 1 创建tracker容器 docker run dti network host name my
  • js-yaml简单使用

    安装 js yaml npm install js yaml index js let fs require fs let content fs readFileSync text yaml encoding utf8 let yaml r
  • img加载图片的三种方式

    方式一 src指向图像的位置 最常用的一种方式 无需搭配后端代码 img src img boat gif alt Big Boat 方式二 src执行后台路径 获取图片的字节数组 前端代码 img src getImage alt Big
  • ubuntu20.04网络配置

    安装net tools sudo apt get install net tools 2 ifconfig查看网卡设备 其中flags表中 running表示正在使用中 查看设备核心网络路由表 route n Destination 目标网
  • 将AWS S3大文件文件上传相关的API集成为js文件,功能包括 多文件并行上传、文件分片上传、断点续传、文件分片合成、上传暂停、取消上传、文件上传进度条显示

    地址 https github com gk 1213 easy s3 tree main 效果 直接运行vue example文件就行 easy s3 将AWS S3大文件文件上传相关的API集成为js文件 功能包括多文件并行上传 文件分
  • 【C-函数】scanf函数原理

    文章目录 1 行缓冲 2 scanf原理 3 scanf案例 1 代码 2 结果 1 行缓冲 行缓冲的意思就是我们输入的字符放入缓冲区 直到输入了回车键进行换行才进行 I O 操作 2 scanf原理 在C中的标准输入函数scanf 使用的