当前位置: 首页 > article >正文

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

在 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.kler.cn/a/601110.html

相关文章:

  • 2025-03-25 学习记录--C/C++-PTA 习题11-7 奇数值结点链表
  • 修改git在提交代码时的名称
  • TARS:字节跳动开源的AI智能体,让生活更便捷、工作更高效
  • 蓝桥杯15届B组题解
  • Springboot 学习 之 Shardingsphere 按照日期水平分表(一)
  • 游戏引擎学习第182天
  • Linux之基本命令和格式
  • AVI格式:经典视频格式的坚守与挑战
  • Unity中对象池(Object Pool)技术解析与实现
  • 笔试面试01 c/c++
  • 蓝桥杯备考----> Apple Catching G(线性DP)
  • Java IO框架体系深度解析:从四基类到设计模式实践
  • PostgreSQL 连接数超限问题
  • Java运行时的堆、栈和方法区
  • Rust从入门到精通之精通篇:21.高级内存管理
  • HCIP 学习第一次笔记
  • 辉视智慧月子中心:爱与科技共筑母婴温馨港湾
  • PostgreSQL:索引与查询优化
  • 建立虚拟用户的账号数据库并为vsftpd服务器添加虚拟用户支持的脚本
  • k8s存储介绍(三)valume概述与emptydir