此程序要求提供员工姓名,年龄和薪资。有一个小问题,我不知道这是什么错误。当我输入没有空格的名字或只是名字时,程序就能正常工作,但只要我输入空格的全名。该程序只是跳过一些值而不询问并跳转到其他值。我知道他们的“worker [i] .name”很少,我也尝试过%c,但没有成功。无法在C程序中输入名称与空格?
struct employee {
int pAge;
float salary;
char name[30];
};
int main(void) {
struct employee worker[2];
for (int i = 0; i < 2; i++) {
printf("Enter Name of %d employee: ", (i+1));
scanf(" %s", worker[i].name);
printf("Enter Age of %d employee: ", (i+1));
scanf("%d", &worker[i].pAge);
printf("Enter Salary of %d employee: ", (i+1));
scanf("%f", &worker[i].salary);
}
printf("\n");
printf("List of All workers\n\n");
printf("Age\tSalary\t\tName\n");
for (int i = 0; i < 2; i++) {
printf("%d\t%.2f\t\t%s\n", worker[i].pAge, worker[i].salary, worker[i].name);
}
}
你怎么能指望当用户完成录入知道吗? – SLaks
@SLaks当用户按下Enter时。 –
你想让你的代码的下一行运行? – SLaks