int main()
{
int a, b;
for (int i = 0; i < 2; i++)
{
char arr[10];
gets(arr);
scanf_s("%d", &a);
getchar();
puts(arr);
printf("%d ", a);
printf("\n");
}
}
int main()
{
int a, b;
for (int i = 0; i < 2; i++)
{
char arr[10];
gets(arr);
scanf_s("%d", &a);
//getchar();
puts(arr);
printf("%d ", a);
printf("\n");
}
}
这个是没有getchar
不懂为什么getchar会影响后续的输出输入结果
scanf输入时,你输入了你的数值x,之后回车表示输入完成
但是这时,对终端而言,你输入的是x和一个回车
当按照scanf进行了x的读取后,还剩一个回车,此时直接进行gets()就会从缓冲区中读取到这个回车。
如果想不使用gets()或getchar(),那你就得补充一个清理缓冲区的语句
就是把输入流里的换行 吃掉,防止影响下一次输入