此程序要求提供員工姓名,年齡和薪資。有一個小問題,我不知道這是什麼錯誤。當我輸入沒有空格的名字或只是名字時,程序就能正常工作,但只要我輸入空格的全名。該程序只是跳過一些值而不詢問並跳轉到其他值。我知道他們的「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