scanf函数的‘微操’
仔细读题,题目描述的是“多组输入”,我们可以借助while循环来实现!
通过查阅,大写字母的ASCII码值+32为对应的小写字母。
看代码:
但是,接下来测试时,值却不是我们所期待的。
这里多出来个*,于是我去仔细查阅了scanf的用法,而我们输入’A’后敲击回车,缓冲区真正出现的是’A\n’,scanf函数这一次把’A’录走了,下次录走了’\n’,而’\n’的ASCII码值+32后就是*!
问题到此算是发现了,可是怎么解决呢。
我们可以在进入循环时,可以用getchar()去录入。
看下效果:
同类型题一道
这是判断输入的是否为字母。有了刚刚的基础后,直接原代码上去,附加额外的if判定即可。
当然,还有另一种比较方法。
好好学习!
将一些基本函数的用法一定要记住,包括返回类型,变量类型,不能只知道大概!