我寫了一個用於計算文本中特定單詞頻率的函數。該程序每次都返回零。我該如何改進它?計算文本中某個單詞的頻率數
while (fgets(sentence, sizeof sentence, cfPtr))
{
for(j=0;j<total4;j++)
{
frequency[j] = comparision(sentence,&w);
all_frequency+=frequency[j];
}}
.
.
.
int comparision(const char sentence[ ],char *w)
{
int length=0,count=0,l=0,i;
length= strlen(sentence);
l= strlen(w);
while(sentence[i]!= '\n')
if(strncmp(sentence,w,l))
count++;
i++;
return count;
}
我很驚訝你的程序甚至回報。你使用了一個未初始化的'i',它在'while(sentence [i]!='\ n')中永遠不會增加',因爲由於缺少大括號,你的'i ++;'超出了循環範圍。 –
目前還不清楚w是什麼,頻率數組是如何初始化的,以及total4的含義。這不是一個很好的證明問題。 – catfood
w是取自用戶的單詞。總數4是段落數量。 – user2500540