scanf函数接收回车,导致输入失败

        scanf接收回车一般是发生在输入字符型变量时才会发生的,在输入数字变量时回车则不会被接收,因为回车是一种字符(‘\n’),所以使用scanf函数时,输入回车会被当成字符接收。

当需要连续输入两个字符时,由于中间要输入回车导致回车键传给第二个变量,如下

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

变量b会接收回车。

       解决办法:

①穿插使用getchar()函数,让getchar函数来接收回车

例如:

scanf("%c",&a);

getchar();

scanf("%c",&b);

②在scanf中加入%*c,%*c表示不输入该字符,常用%*c来吃掉回车

例如:

scanf("%c%*c%c",&a,&b); 

 注意:%*c是不接受变量,所以尽管有三个%c也不需要再创建一个字符变量来匹配%*c。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值