gpt4 book ai didi

c - 如何使用 strtok 正确计算单词数?

转载 作者:太空宇宙 更新时间:2023-11-04 02:24:09 25 4
gpt4 key购买 nike

#include <stdio.h>
#include <string.h>

int main(void) {

char tekst[10000], test=0;
char* word;
char word_copy[100][100];
int i=0, lenght=0;

printf("Type in your text: ");
fgets(tekst, 10000, stdin);

lenght=strlen(tekst)-1;
if(lenght>1000)
{
lenght=1000;
}

word=strtok(tekst, " ,\".-");

while( word != NULL)
{
word=strtok(NULL, " ,\".-");
printf("%s ", word);
i++;

}

printf("%d", i);

你好。我想做的是仅使用 strtok 来计算单词数。但是,如果我输入:“example”或-example-,我得到的答案是“2”而不是“1”。出于某种原因,当最后一个词是 (null) 时,它仍然会触发循环,并且 i++ 可以工作......我对编程还很陌生,所以我也很乐意写下正确的代码。

最佳答案

继续评论,这是修复代码的另一种方法:

...
char *text = tekst;
while((word = strtok(text, " ,\".-"))) {
text = NULL;
printf("%s ", word);
i++;
}
...

关于c - 如何使用 strtok 正确计算单词数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53506111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com