以下のスニペットは、単語を取得し、出現回数とともに出力する私のプログラムからのものです。
特定のエントリが以前に保存されたことを「忘れ」、それに関連付けられたカウンタをインクリメントしないことを除いて、ほぼ正常に機能します。
typedef struct {
char *word;
int occ;
}
words;
words *data=NULL;
int main(int argc, char **argv)
{
char *word;
words *temp;
int c,i,num;
words *ptr = NULL;
num=0;
while(1)
{
c=fgetc(infile);
if(c==EOF) break;
if(!isalpha(c)) continue;
else ungetc(c,infile);
word=getword(infile);
if(findword(word))
{
if(!(temp=realloc(data,sizeof(words)*(num+1))))
{ /* error handling */ }
else
data=temp;
}
else
free(word);
}
/* sort procedure here, irrelevant for the purpose of topic */
for(i=0;i<num;i++)
{
/*printf*/
}
return 0;
}
そのコードの何が問題になっていますか?
前もって感謝します!