用c语言实现统计一行文本的单词个数,用指针实现
时间: 2024-10-08 13:02:42 浏览: 34
统计单词个数&&将字符串中连续出现的数字放进一维数组
4星 · 用户满意度95%
在C语言中,我们可以使用指针和一些字符串处理函数来统计一行文本中的单词个数。下面是一个简单的示例,我们将文本存储在一个字符数组中,并使用`strtok()`函数来分割单词:
```c
#include <stdio.h>
#include <string.h>
int count_words(char* text) {
char *token = strtok(text, " \t\n"); // 分割符为空格、制表符和换行符
int word_count = 0; // 初始化单词计数
while (token != NULL) { // 当有下一个单词时继续
word_count++; // 增加计数
token = strtok(NULL, " \t\n"); // 继续分割直到无更多单词
}
return word_count;
}
int main() {
char line[] = "This is a sample sentence with words.";
int word_count = count_words(line);
printf("The line contains %d words.\n", word_count);
return 0;
}
```
在这个例子中,`strtok()`会返回当前找到的第一个单词,然后在后续调用中返回NULL,表示已经处理完所有的单词。我们只需要检查`token`是否为NULL就可以判断是否有更多的单词。
阅读全文