私は C が初めてで、いくつかの演習を行っていますが、while ループで gets() に問題があります。検索では、\n 文字と関係があるのではないかと思いますが、ここで何が起こっているのかについて、誰かがより完全な説明をしてくれることを望んでいました:
このループは 1 回だけ実行されます。2 回目は「Enter last name」を画面に出力し、gets() が 2 回目の入力を受け取る前にループから抜け出します。
while (employee_num <= 10)
{
printf("Enter last name ");
gets(employee[employee_num].last_name);
if(strlen(employee[employee_num].last_name) == 0)
break;
printf("Enter first name ");
gets(employee[employee_num].first_name);
printf("Enter title ");
gets(employee[employee_num].title);
printf("Enter salary ");
scanf("%d", &employee[employee_num].salary);
++employee_num;
}
前もって感謝します!