当前位置:网站首页 > 技术博客 > 正文

用格式化输入scanf()函数,在键盘上如何输入数据

scanf() 函数是C语言标准库提供的函数,定义在头文件中。



scanf() 用于从标准输入(通常是键盘)读取格式化输入的函数,函数原型如下:

1、format

由格式说明、空白字符与非空白字符构成。



1) 格式说明:指示了参数 argument 的输入格式,它由 % 开头,后面跟格式字符,格式字符前也可以有其他修饰符。格式说明的一般格式如下。

其中,格式字符及说明如下表所示。



格式字符 说明 c 单个字符 d 或 i 十迸制整数 e、E、f、g、G 浮点数 u 无符号十进制整数 o 无符号八进制整数 x 或 X 无符号十六进制整数 s 字符串 p 内存地址 [...] 匹配指定的字符,可以用连字符 - 表示某个范围内的字符,例如 %[a-z] 表示读取 abc...xyz 范围内的字符、%[0-9] 表示读取 012...789 范围内的字符等 [^...] 不匹配指定的字符,可以用连字符 - 表示某个范围内的字符,例如 %[^0-9] 表示匹配除十进制数字以外的所有字符,遇到十进制数字就停止读取。


格式字符前面的修饰符及说明如下表所示。



修饰符 说明 * 跳过读入的数据,不存入对应的参数 argument 中 width 指定输入数据所占用的宽度 modifiers 指定由 d、i、x、X、0、u、e、f、g 说明的字符的大小
h:短整型或无符号短整型
l:长整型或无符号长整型或双精度浮点型
L:长双精度类型



2) 空白字符:可以使 scanf() 函数忽略输入的一个或多个空白字符。空白字符可以是空格、制表符或换行符。实际上,scanf() 函数读入空白字符但是并不存储它们。



3) 非空白字符:scanf() 函数读入并删除与该字符相同的字符。如果读入的字符与格式控制中的非空白字符不匹配,则停止读入。


2、argument

一个地址列表,表示要格式化的输入数据的地址,每个地址和格式说明一一对应。


如果调用成功,则函数返回读入数据的个数;如果读入出错,则返回与读入数据匹配的个数。


以下是一些 C语言 scanf() 函数的使用示例:

scanf() 函数为 C 程序提供了灵活的输入解析和读取功能。通过不同的格式字符和标志,可以处理各种类型和格式的输入。



需要注意的是,scanf() 在处理某些复杂输入和错误情况时可能会有挑战,因此在这些情况下可能需要额外的错误处理和验证逻辑。




















  • 上一篇: shell 加密文件
  • 下一篇: 动态内存拓展技术
  • 版权声明


    相关文章:

  • shell 加密文件2025-08-25 21:30:03
  • win10关机教程2025-08-25 21:30:03
  • js调用linux命令2025-08-25 21:30:03
  • c语言getchar()到底怎么用2025-08-25 21:30:03
  • 余弦相似度的缺陷2025-08-25 21:30:03
  • 动态内存拓展技术2025-08-25 21:30:03
  • mac程序坞滑动效果2025-08-25 21:30:03
  • 数字图像处理实验一2025-08-25 21:30:03
  • 防抖节流vue2025-08-25 21:30:03
  • 三层交换机具有路由功能吗2025-08-25 21:30:03