C语言scanf与空白字符

格式串中的空白字符

格式串中的空白字符可以与输入中任意数量的空白字符匹配,包括0个。

输入中的空白字符

  • 格式串中%d,%f,%lf,%Lf在输入中寻找对应项,即寻找数的起始位置的时候,scanf会忽略空白字符(空格符,水平和垂直制表符,换页符和换行符。
  • 格式串%c在输入中寻找对应项,无法忽略空白字符。因为空白字符本身也是字符。
    注意:%s其实不是简单地代表字符串。在scanf中与%d等类似。从第一个非空白字符读起,到空白字符为止。比如说:输入 this is 输出会显示this。除非采用多个%s
  • 当遇到其他普通字符如/,如果格式串没有空白字符,输入中却含有空白字符,即输入中的空白字符无法与格式串中的空白字符匹配(因为格式串中没有)。那么输入中的空白字符将会与格式串中的下一个其他字符匹配(如/),此时匹配出现错误。
#include<stdio.h>
int main(void)
{
	int a,b;
	scanf("%d/%d",&a,&b);//输入3 /2 3后面的这个空格与/匹配错误
	printf("%d %d", a,b);//输出3 -858993460出现错误
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值