scanf()

所在头文件

stdio.h

签名

C99前

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

C99起

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

功能

从 stdin 读取数据,按照 format 转译,并将结果存储到指定位置。

参数

返回值

成功赋值的接收参数的数量(可以为零,在首个接收用参数赋值前匹配失败的情况下),或者若输入在首个接收用参数赋值前发生失败,则为EOF。

注意

因为多数转换指定符首先消耗掉所有连续空白符,如下的代码

scanf("%d", &a);
scanf("%d", &b);

将读取在不同行上(第二个 %d 会消耗第一个剩下的换行符)或同一行由空格或制表符分隔(第二个 %d 会消耗空格或制表符)的整数。
不消耗前导空白符的转换指定符,如 %c ,可以通过在格式字符串中前置一个空白符令它如此:

scanf("%d", &a);
scanf(" %c", &c); // 消耗 %d 后的所有后继空白符,然后读一个 char

参考资料

C++参考手册(英文版)
C++参考手册(中文版)

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值