"Cプログラミングの現代的アプローチ第2版"の問題から取り組んでいます。私は最小と最大の単語を書くプログラムを書いてみたい。ユーザーが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]の単語を=;':あなたは、[i]は ''にword' 'の同じADDRESを設定します – BLUEPIXY