Я работаю над проблемой из текста «C programming an Modern Approach 2nd Edition». Я хочу написать программу, которая записывает самые маленькие и самые большие слова. Программа перестает принимать входные данные, когда пользователь вводит 4-буквенное слово.C сохранение строк в массив
Я использую массив строк, чтобы решить эту проблему, но я не могу даже заставить свою программу хранить в ней слова.
#include <stdio.h>
#include <string.h>
#define WORD_LEN 20
int main()
{
char word[WORD_LEN]={0},ch;
char *a[10]={}; //Max 10 words in the array
int i=0,j;
for(;;)
{
printf("Enter a word: ");
fgets(word,WORD_LEN,stdin);
strtok(word, "\n"); //removes newline
a[i] = word;
if(strlen(word) == 4) //if word is 4 characters
break; //break out of loop
i++;
}
for(j=0;j<i;j++) //displaying array
printf("%s\n",a[j]);
return 0;
}
Выход:
Enter a word: Analysis
Enter a word: Martin
Enter a word: Jonathan
Enter a word: Dana
Dana
Dana
Dana
Любая идея в то, что я делаю неправильно? Благодарю.
'а [I] = слово;': Вы можете установить одинаковые по 'Адресная слово' к' а [я] ' – BLUEPIXY