浅谈getchar()以及scanf读取字符时的易错点
写一段这样的代码
当键入一个字符如a,然后回车,我们看看输出结果
我们会疑惑,为什么我还没有输入下一个字符 就结束了... 其实当你输入a,按下enter时你就输入了一个换行符。
所以为了避免这一种情况,我们可以直接键入两个字符再按enter就ok了。
下面我们谈谈scanf(“%c”,...)的易错点
在这个程序里我们感觉并没有输入字符,事实上跟之前类似输入整数后 按下enter就相当于输入了换行符。
我们应该怎样避免scanf读入字符型数据时读入空格,回车符这些空白字符呢?
下面介绍两种方法:
一,在scanf("%c",...);中的%前键入空格,这个空格会忽略缓冲区中的空白字符(回车,空格,tab)。
二,在读入字符型数据前插入一句getchar()这样就可以把之前的空白字符读走。