粗略了解
scanf读取键盘输入,键盘输入也叫标准输入,它将数据以字符串的形式读入标准输入缓冲区
一个案例
目的:读取一个数字紧接着读取一个字符并输出
程序代码:
结果:
问题:没有进行字符的输入,直接输出了换行符
原因分析:
因此字符直接输出了换行
解决方法:
①利用fflush(stdin)清空标准输入缓冲区--第一次听说!
②getchar()读掉缓冲区的换行--我今天之前用的
③格式指令加上空格
总之就是想办法消掉那个换行符!
一些其他知识
但是但是,接着读取浮点数、整型和字符串都没有问题,因为scanf读到%f%s%d时会忽略标准输入缓冲区中的\n和空格
总结
scanf中%c不会忽略换行和空格,其他都会忽略,所以在读取字符时要根据情况处理