一个案例来了解scanf原理

粗略了解

scanf读取键盘输入,键盘输入也叫标准输入,它将数据以字符串的形式读入标准输入缓冲区

一个案例

目的:读取一个数字紧接着读取一个字符并输出

程序代码:

 结果:

问题:没有进行字符的输入,直接输出了换行符

原因分析:

因此字符直接输出了换行

解决方法:

①利用fflush(stdin)清空标准输入缓冲区--第一次听说!

②getchar()读掉缓冲区的换行--我今天之前用的

 

③格式指令加上空格

 

 

总之就是想办法消掉那个换行符!


一些其他知识

但是但是,接着读取浮点数、整型和字符串都没有问题,因为scanf读到%f%s%d时会忽略标准输入缓冲区中的\n和空格

总结

scanf中%c不会忽略换行和空格,其他都会忽略,所以在读取字符时要根据情况处理

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值