69,371
社区成员
发帖
与我相关
我的任务
分享
int r;
scanf("%d", &r);
printf("请输入他们的信息*姓名**号码**性别*\n");
int i;
for (i = 0; i < r; i++)
{
scanf("%s%d%c", x[i].name, &x[i].num, &x[i].sex);
if ((int)(x[i].num / 1000) == 1)
{
strcpy(x[i].job, "学生");
printf("请输入该%s所在班级:", x[i].job);
scanf("%d", &x[i].jx.class);
}
else if ((int)(x[i].num / 1000) == 2)
{
strcpy(x[i].job, "老师");
printf("请输入该%s的职务:", x[i].job);
scanf("%s", x[i].jx.position);
}
}
//请今后要用
char c;
scanf("%c",&c);
//时,都改为
char s[2];
char c;
scanf("%1s",s);
c=s[0];
scanf("%s%d %c", x[i].name, &x[i].num, &x[i].sex);
加一个空格即可,因为%c可以匹配空格,所以再输入num之后再输入sex时,你加了一个空格(这个是必要的),但是%c正好匹配到了这个空格,所以现在要在scanf中加一个空格,这样后面的输入就可以匹配%c了
scanf("%s%d%c", x[i].name, &x[i].num, &x[i].sex);
//改为(加上空格)
scanf("%s %d %c", x[i].name, &x[i].num, &x[i].sex);