那是因为在我们做了第一次输入时,并按下回车,使程序继续执行。而那个回车也随之进入了流当中。而遇到第二个scanf()时,scanf()把回车当作是第二次输入的字符而接收。因此程序也就忽略了输入而继续执行了。这个回车就是在做输入时产生的垃圾字符了。
解决1: 在输入后
scanf("%[^\n]");//删除回车和之前的输入 scanf("%*c");//删除‘\n’
那是因为在我们做了第一次输入时,并按下回车,使程序继续执行。而那个回车也随之进入了流当中。而遇到第二个scanf()时,scanf()把回车当作是第二次输入的字符而接收。因此程序也就忽略了输入而继续执行了。这个回车就是在做输入时产生的垃圾字符了。
解决1: 在输入后
scanf("%[^\n]");//删除回车和之前的输入 scanf("%*c");//删除‘\n’