我有函数,它应该计算有多少个字符有最长的单词,但它算错了。
例如,如果我在第一个比第二个短时输入两个单词:“我的名字”程序显示最长的单词有 2 个字符。但是当我输入“name my”时,它显示结果是 4。为什么会这样?
void max_chars(ListNodePtr sPtr)
{
int i = 0;
int max = 0;
while (sPtr->next != NULL) {
if (isalpha(sPtr->data)) {
i++;
} else {
if (i > max) {
max = i;
}
i = 0;
}
sPtr = sPtr->next;
}
printf(" \n The Longest word have : %d chars \n", max);
}