首先,先来讲一下scanf的读取流程: 从键盘输入的都是字符类型(一系列的字符),scanf()的作用就是将这个字符序列转换成一个或多个指定的类型,并保存到变量中. 从键盘输入的字符序列会先缓存到键盘缓冲区中,当用户输入回车,这时会清空键盘缓冲区,将键盘缓冲区的数据(包括回车)送入到stdin中 这时scanf()开始从stdin中读取数据. scanf()在读取每个字段时都会忽略空白符(%c比较特殊).以%d为例,scanf()会先忽略stdin中的空白符,直到遇到第一个0-9开始读取,如果后…