0

これは宿題です。入力を読み取るCプログラムがあります。ここでは、変数の選択によって指定された、ユーザーが記録したい人数を取得し、それぞれの配列に姓名と年齢を記録します。ユーザーからの入力を取得する while ループがありますが、while ループの最初のサイクルでは、最初の入力の取得が完全にスキップされます。ただし、最初のサイクルの後は、ユーザーの入力が正しく記録されます。私は何が間違っているのだろうと思っていました。ここに私の while ループがあります:

char firstName[choice][20];
char lastName[choice][20];
int age[choice][3];
while(i < choice + 1)
{
  fputs("Enter the first name of the person  ", stdout);
  fflush(stdout);
  fgets(firstName[i], sizeof firstName[i], stdin);

  fputs("Enter the last name of the person  ", stdout);
  fflush(stdout);
  fgets(lastName[i], sizeof lastName[i], stdin);

  fputs("Enter the age of the person  ", stdout);
  fflush(stdout);
  fgets(age[i], sizeof age[i], stdin);

  i++;
}

どんな助けでも大歓迎です。

4

1 に答える 1