したがって、ユーザーは不明な量の単語を入力しようとしています。各単語の最大長は10であると想定しています。reallocから代入erorrの左オペランドとして必要な左辺値を取得しました。私はCに不慣れで、グーグルを試しましたが、有用な答えを見つけることができません。
コード:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define CAPACITY 10
#define NUM_OF_WORDS 10
int main(void)
{
char *word= malloc(10*sizeof(char));
char *w[NUM_OF_WORDS];
int i;
int n;
for(i = 0 ; scanf("%s", word)==1; ++i)
{
if( i == NUM_OF_WORDS-1)
w = realloc(w, (NUM_OF_WORDS*=2) * sizeof(char));
w[i] = malloc( strlen(word)+1 * sizeof(char));
strcpy(w[i], word);
}
return 0;
}