我需要將標記存儲到數組中。然後我想在句子中找到相同的標記。將標記存儲到數組中
int main()
{
int i=0;
char* words[200];
char text[200];
printf("Enter one sentence \n ");
gets(text);
char *word = strtok(text, " ");
while(word!=0)
{
words=malloc(strlen(word)+1);
strcpy(words[i++], word);
printf("[%s]\n", word);
word=strtok(NULL, " ,.!?");
}
getch();
return 0;
}
我不知道這是爲什麼在虛空分配erorr- 22種不兼容的類型*爲char * [200]」 如果我改變的話,以字[I] = malloc的.....得到錯誤22無效轉換從void *到char *'
然後我想知道如何從這個數組我可以比較這些令牌與strcmp。 這是我的嘗試,但看起來像不工作。
for (k=0; k<199; k++)
{
for (j=k+1; j<200; j++)
{
if (strcmp(words[k],words[j])==0)
{
printf("equal words are %d",words);
}
else
{
printf("In this sentence aren't equal words");
}
}
}
我建議「字[我++] =的strdup(字);」而不是malloc和strcpy。 –