C言語についての質問です。 キーボードから入力された 5 つの文字列のうち,最も長い文字列がどれか判定するプログラムを作成したいのですが上手くいきません。 以下のコードが自分の作ったコードです。おかしいところがわかる方がいましたら教えていただきたいです。 #include <stdio.h> #include <string.h> int longest(int counter[]); int main (void) { int i, index, MAX, counter[5]; char str[5][256]; i=0; index=0; for (i=0;i<5;i++){ printf (" %d つめの文字列を入力してください (最大 255 文字): ",i+1); gets (str[i]); } while(i<5){ i++; while ( str[i][index] != '\0') { counter[i]++; index++; } } MAX=longest(counter); printf(" 最も長かったのは %d 行めの %s でした", MAX +1, str[MAX]); return 0; } int longest(int counter[]) { int i; int max=0; int max_n; for (i=0;i<5;i++){ if (counter[i] > max ){ max = counter[i]; max_n = i ; } } return max_n; }
C言語関連