求问一下gets函数对于之后scanf函数的影响
想要读入两个字符串和两个整数,采用如下代码,奇葩的是只能输入三行就自动跳结果了……#include <stdio.h>
#include <string.h>
int main()
{
char a[10], b[10];
int da,db;
gets(a);
scanf("%d", &da);
gets(b);
scanf("%d", &db);
printf("%s\n%d\n%s\n%d", a,da,b,db);
return 0;
}
但是用sscanf就可以正常读入四个数据,想请问下这是为什么啊?gets函数貌似丢了一组?
#include <stdio.h>
#include <string.h>
int main()
{
char a[10], b[10],tmp[9999];
int da,db;
gets(a);
gets(tmp);
sscanf(tmp,"%d", &da);
gets(b);
gets(tmp);
sscanf(tmp,"%d", &db);
printf("%s\n%d\n%s\n%d", a,da,b,db);
return 0;
}