scanf总结

scanf函数精髓:严格格式匹配。

常见的格式字符及说明:

格式字符

说明

%d

从键盘输入十进制整数

%o

从键盘输入八进制整数

%x

从键盘输入十六进制整数

%c

从键盘输入一个字符

%s

从键盘输入一个字符串

%f和%e

从键盘输入一个实数

1)  %d、%o、%x、%f、%e归为一类,因为输入的都是数。显然它们的组合都是0~9等数字,十六进制会多了a~f或A~F,%f和%e多了一个小数点。当scanf的格式说明符为这5个中的其中一个时,从键盘输入的组合只能是上面那些东东,一旦遇到其它的输入符号就终止。也就是说其它的符号可以当做终止符或间隔符(当有多个数据输入时)。

2)  %c,意为从键盘得到任一个字符,这下就好玩了,它除了能单个的接收数字、字母、小数点等字符外,还能接收制表符、空格、换行键(回车键)这三个通常被当做间隔符的字符。可以理解为通吃型(一次只能吃一个哦)。

3)  %s,意为从键盘得到一个字符串。那字符串什么时候结束呢?显然了,%s不能像%c那样通吃了,这时三个间隔符会恢复他们的正职,遇到他们也就意为着一个字符串结束了。

举例:

程序的本意是输入x的值后,输入另一个字符给a。结果是输入1后按回车就直接打印了结果。貌似程序不给我们输入a的机会,是这样吗?不是的。a已经接收了一个字符,就是刚才敲的换行键(回车)。不信可以打印出a的ASCII码看看:

第一个输入1后,按换行键(回车);第二个输入1后,按空格键,再按回车键;第三个输入1后,按Tab键,再按回车。

那么怎样给a输入值呢?常见的方法有三种:其中任选一种就行了,不同之处自己找吧。

scanf还有许多要注意的地方,总之“严格格式匹配”之精髓不能丢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值