c语言中scanf(),C语言中scanf()的用法!

C语言中scanf()的用法!

scanf详解

scanf 原型:

# include

int scanf( const char *format, ... );

函数 scanf() 是从标准输入流 stdin 中读内容的通用子程序,可以读入全部固有类型的数据并自动转换成机内形式。scanf() 是 printf() 的补函数。

在 C99 中,format 用 restrict 修饰。

format 指向的控制串由以下三类字符组成:

● 格式说明符

● 空白符

● 非空白符

输入格式说明符前缀为百分号(%),告诉 scanf() 下次读入何种数据类型。这些格式说明符的清单如下表所示:

┏━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓

┃ 代 码 │ 意 义 ┃

┠────┼────────────────────────────┨

┃ %a │读浮点值(仅适用于 C99) ┃

┃ %A │读浮点值(仅适用于 C99) ┃

┃ %c │读单字符 ┃

┃ %d │读十进制整数 ┃

┃ %i │读十进制、八进制、十六进制整数 ┃

┃ %e │读浮点数 ┃

┃ %E │读浮点数 ┃

┃ %f │读浮点数 ┃

┃ %F │读浮点数(仅适用于 C99) ┃

┃ %g │读浮点数 ┃

┃ %G │读浮点数 ┃

┃ %o │读八进制数 ┃

┃ %s │读字符串 ┃

┃ %x │读十六进制数 ┃

┃ %X │读十六进制数 ┃

┃ %p │读指针值 ┃

┃ %n │至此已读入值的等价字符数 ┃

┃ %u │读无符号十进制整数 ┃

┃ %[ ] │扫描字符集合 ┃

┃ %% │读 % 符号(百分号) ┃

┗━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

例如: %s 表示读串而 %d 表示读整数。格式串的处理顺序为从左到右,格式说明符逐一与变元表中的变元匹配。为了读取长整数,可以将 l(ell) 放在格式说明符的前面;为了读取短整数,可以将 h 放在格式说明符的前面。这些修饰符可以与 d、i、o、u 和 x 格式代码一起使用。

默认情况下,a、f、e 和 g 告诉 scanf() 为 float 分配数据。 如果将 l(ell) 放在这些修饰符的前面,则 scanf() 为 double 分配数据。使用 L 就是告诉 scanf(),接收数据的变量是 long double 型变量。

如果使用的现代编译器程序支持 1995 年增加的宽字符特性, 则可以与 c 格式代码一起,用 l 修饰符说明类型 wchar_t 的宽字符指针;也可以与 s 格式代码一起,用 l 修饰符说明宽字符串的指针。l 修饰符也可以用于修饰扫描集,以说明宽字符。

控制串中的空白

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值