C语言,关于连续使用多个scanf()函数读取字符的事 | 您所在的位置:网站首页 › c语言printf输出多个重复的字 › C语言,关于连续使用多个scanf()函数读取字符的事 |
先来看这么一段代码 int a; char c; scanf("%d", &a); scanf("%c", &c);想要用多个scanf来进行字符的输入,我们在输入字符前不能输入空白字符(空格回车),否则scanf在读取字符时就会自动把输入队列中的空白字符读取到%c中。 注意,只有一个 scanf()中的第一个 %c会遇到这样的问题 那么如何避免这种情况呢。 首先,把所有的输入放到同一个scanf()函数中就能避免这种情况。 如果非要使用多个scanf的话,那么有两种选择。 在输入字符之前,不要添加任何空白字符,直接接着上一个输入输入字符就行了如果输入字符前非要添加空白字符的话,那么就用getchar()把这个空白字符吃掉就好了 //这样用 int a; char c; scanf("%d", &a); getchar(); scanf("%c", &c);这样就可以在两个输入之间添加空白字符了 同样的,C++中,使用 cin对象进行输入时,也会遇到类似问题,解决方法也是类似的:用cin.get()吃掉 |
CopyRight 2018-2019 实验室设备网 版权所有 |