C 语言中, scanf 函数在哪些情况下会结束输入读取:

devtools/2025/4/1 6:36:34/

在 C 语言中, scanf 函数在以下几种情况下会结束输入读取: :

1. 遇到指定格式匹配失败: scanf 按照格式字符串要求读取输入。当输入数据格式与格式字符串不匹配时,就会结束读取。例如 scanf(“%d”, &num) 要求输入整数,若输入字符 a ,匹配失败, scanf 就会结束读取,输入流中的 a 会留在缓冲区。

2. 遇到空白字符: scanf 在读取非空白字符(如 %d 、 %s 等格式)时,遇到空白字符(空格、制表符 \t 、换行符 \n )会认为当前数据读取结束。比如 scanf(“%s”, str) 读取字符串,遇到空白字符就会停止读取,将已读取的非空白字符组成字符串存入 str 。

3. 达到输入字段宽度限制:如果在格式字符串中指定了字段宽度,如 scanf(“%3d”, &num) ,当输入的数字字符达到指定宽度(这里是 3 个字符)时, scanf 结束读取。例如输入 1234 ,只会读取 123 赋值给 num 。

4. 遇到文件结束标志:当从文件或标准输入读取数据时,遇到文件结束标志(在 Windows 系统中通常是 Ctrl + Z 后按回车键,在 Linux 和 macOS 系统中是 Ctrl + D ), scanf 函数会返回 EOF 并结束读取。

scanf 函数结束读取的情况多样,使用时要注意输入数据与格式字符串的匹配,以及处理可能出现的错误情况。


http://www.ppmy.cn/devtools/171425.html

相关文章

Spring6:6 单元测试-JUnit

6、单元测试:JUnit 在之前的测试方法中,几乎都能看到以下的两行代码: ApplicationContext context new ClassPathXmlApplicationContext("xxx.xml"); Xxxx xxx context.getBean(Xxxx.class);这两行代码的作用是创建Spring容器&…

本地基于Ollama部署的DeepSeek详细接口文档说明

前文,我们已经在本地基于Ollama部署好了DeepSeek大模型,并且已经告知过如何查看本地的API。为了避免网络安全问题,我们希望已经在本地调优的模型,能够嵌入到在本地的其他应用程序中,发挥本地DeepSeek的作用。因此需要知…

更改 vscode ! + table 默认生成的 html 初始化模板

vscode ! 快速成的 html 代码默认为&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>D…

STM32八股【3】------RAM和片上FLASH

1、RAM和FLASH构成 1.RAM ┌──────────────────────────┐ │ 栈区 (Stack) │ ← 从RAM顶端向下扩展&#xff08;存储局部变量、函数调用信息&#xff09; │--------------------------│ │ 堆区 (Heap) │ ← …

Java 基于微信小程序的美食推荐系统(附源码,文档)

博主介绍&#xff1a;✌Java徐师兄、7年大厂程序员经历。全网粉丝13w、csdn博客专家、掘金/华为云等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不…

Node.js 包管理配置文件详解:package.json、npmrc、package-lock.json 全面解析

目录 Node.js 包管理配置文件详解 1. package.json&#xff1a;Node.js 项目的核心配置文件 示例&#xff1a;完整的 package.json 配置 关键字段解析 2. package-lock.json&#xff1a;锁定依赖版本 示例&#xff1a;部分 package-lock.json 作用 如果 package-lock.j…

JavaScript 在 Chrome 中运行详解

JavaScript 在 Chrome 中运行详解 引言 JavaScript 是一种广泛使用的编程语言,常用于网页开发中实现动态效果和交互功能。Chrome 浏览器作为全球最受欢迎的浏览器之一,对 JavaScript 的支持非常出色。本文将详细介绍 JavaScript 在 Chrome 中运行的原理、环境以及一些优化技…

Oracle无法正常OPEN(一)

作为DBA在启动数据库时&#xff0c;可能会经常遇到数据库无法正常open的现象&#xff0c;其中原因有很多&#xff0c;今天我们讨论控制文件过旧的场景。即ORA-01207: file is more recent than control file - old control file 一、创建测试数据 SQL> create tablespace t…