浅谈关于空格和回车对于输入函数的影响

对于空格和回车对于输入函数的影响,这里只谈对scanf函数的影响

情况一: scanf("%d%c“,&a,&b);

空格会结束scanf函数当前格式数据的录入,并且空格将会被存入缓存区。如果后面仍有%c格式的录入,空格将会被%c读取;

改变这种错误出现的方法是在上面%c %d中间加一个空格,吸收掉缓存区的空格;

情况二:

scanf("%s%c",str,&ch);

空格会结束scanf函数当前格式数据的录入,并且字符串数组末尾将会自动添加结束符‘、0’,但是空格仍会被寸入缓存区内,空格将会被%c读取;

(空格不会变为字符串结束符,仍会被存入缓存区内);需注意,当只输入例如5然后回车时,scanf函数将会结束运行,其实此时回车包含两种字符,一种是/t(换行)和/n(回车),scanf将会自动读入换行,然后在‘/n’的作用下结束scanf的运行;只要是进行回车操作,都是回车符里的‘/t’存入缓存区(传送到相应地址),‘/0’只起到结束程序的功能;

注意;空的字符串数组直接敲击回车,%s不会读入回车,只会在输入一系列数据以后,敲击回车使scanf函数结束运行(将缓存区的数据提取出到相应地址中,scanf函数结束运行,使程序继而执行后继程序);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿的探索之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值