printf("请输入性别:");
pers[size].gender = getchar();
printf("请输入年龄:");
scanf("%d", &pers[size].age);
printf("请输入工龄:");
scanf("%d", &pers[size].workage);
while (1) {
if (pers[size].workage >= pers[size].age) {
printf("输入错误,工龄应小于年龄,请重新输入工龄:");
scanf("%d", &pers[size].workage);
}
else break;
}
代码部分如上(前面定义了size的值),尝试将getchar改成scanf("%c",&pers[size].gender)结果相同
输入一个汉字
运行结果为:
发生错误:直接跳过下面所有scanf语句进入while死循环
原因:char是单个字符占一个字节,而汉字占两个字节
解决办法:1.改用puts和gets输出和输入汉字,把汉字放入数组中