为什么跳过scanf ?
为什么跳过scanf?scanf(“%c”)
接收了‘\n’
把代码贴出来 int main(void)
{
struct yy
{
int num;
char name;
char sex;
char job;
union
{
int banji;
char position;
}category;
};
struct yy person;
int n, i;
//printf("请输入学生人数:");
//scanf("%d", &n);
for (i = 0; i < 2; i++)
{
printf("请输入号码:");
scanf("%d",&person.num);
printf("请输入姓名:");
scanf("%s", person.name);
printf("请输入性别m/f:");
scanf("%c", &person.sex);
printf("请输入职业s/t:");
scanf("%c", &person.job);
if (person.job == 's')
{
printf("请输入班级:");
scanf("%d", &person.category.banji);
}
else
{
printf("请输入教授名:");
scanf("%s", person.category.position);
}
}
//输出
for (i = 0; i < 2; i++)
{
printf("号码 姓名 性别 职业 班级/教授\n");
printf("%d %s %c %c", person.num, person.name, person.sex, person.job);
printf("%d %s\n", person.category.banji, person.category.position);
}
system("pause");
} 我把%c 改成%s就正常了 “隐士” 发表于 2017-4-25 12:41
我把%c 改成%s就正常了
对呀
页:
[1]