我已经定义了一个结构
typedef struct EMP {
char name[100];
int id;
float salary;
} EMP;
我在while循环中使用它作为输入
EMP emprecs[3];
int i;
i = 0;
while (i < 3) {
printf("\nEnter Name: ");
scanf("%*[\n\t ]%[^\n]s", emprecs[i].name);
printf("\Enter Id: ");
scanf("%d", &emprecs[i].id);
printf("\nEnter Salary: ");
scanf("%f", &emprecs[i].salary);
i++;
}
但循环只接受名字并跳过之后的所有其他输入(它完成,但输入为空)。这个例子来自C教科书,那么问题出在哪里?
如果不跳过字段,它的效果会更好"%*[\n\t ]"
,但教科书告诉你要使用它。