scanf输入时需要注意输入的回车换行的处理
int t,i;
char w;
scanf("%d", &t);
for (int j = 0;j < t;j++)
{
scanf("%c %d", &w, &i);
}
在visual studio下输入“1”回车换行,然后输入“D 100”回车换行,得到的输入是错的,原因是scanf输入t值后还多了一个\n,下一个scanf会把\n赋值给w,所以需要使用getchar先吸收掉所有的非所需字符。
int t,i;
char w;
scanf("%d", &t);
for (int j = 0;j < t;j++)
{
getchar();
scanf("%c %d", &w, &i);
}