配列とfor文の組み合わせがうまくいきません
初心者なので質問文でおかしなことを言ってるかもしれませんが
よろしくお願いします
ソースは下に貼り付けました。
コースの数を入力し、そのコースに名前をつけるという
プログラムを書いたのですが
forでcoursename[0]からcoucename[3]までの4つに名前を入力しようと
コース数に「4」を入力しても
forによって繰り返されるのは
coursename[0]からcoucename[2]までの3つでした
どう直せばいいのでしょうか
====================================================
#include <stdio.h>
#define MAX_COURSE 5 /*最大数*/
int main(void){
int course = 0; /*コース数*/
char coursename[MAX_COURSE][100]; /*コース名*/
char line[100]; /*入力用文字型配列*/
int i;
/*コース数の入力*/
while (course < 1 || 5 < course){
printf("コース数の入力を行ってください。(1~5)\n");
printf("INPUT : ");
fgets(line, sizeof(line), stdin);
sscanf(line, "%d", &course);
}
/*コース名の入力*/
printf("コース名の入力を行ってください。\n");
for(i=0; i<course-1; i++){
printf("%d科目 : ", i+1);
fgets(line, sizeof(line), stdin);
sscanf(line, "%s" , coursename[i]);
}
return 0;
}
====================================================
お礼
ありがとうございました。 また機会がありましたらよろしくお願いします。