求助:关于scanf的输入问题
这是定义的结构体struct student
{
int number;
char name[20];
struct student *next;
};
这是有问题的代码:
head=(struct student *)malloc(LEN);
printf("请输入学号\n");
scanf("%d",&head->number);
printf("请输入姓名\n");
gets(head->name);
在测试时,发现在执行scanf这一句时,输入数字再回车后,比如输入10000,gets语句就被自动跳过了,完全不给我输入字符串的机会,
如果我紧跟着数字后面输入字符串,比如10000zhanglei,发现那段字符串zhanglei被自动赋值给了name
只有把gets改成用scanf输入字符串,才能正常输入
为什么会出现这种情况?求解……
只有20分了,全部呈上……