用C语言指针实现以下功能:输入一个字符串,统计其中单词的个数,各单词之间用空格分隔。要求:字符串输入在主函数实现,统计功能需要自定义函数实现,函数返回值为单词个数
时间: 2024-03-14 17:48:22 浏览: 69
好的,我来解答你的问题。
以下是实现该功能的C语言代码:
```
#include <stdio.h>
int countWords(char *str) {
int count = 0;
int isWord = 0;
while (*str) {
if (*str == ' ' || *str == '\t' || *str == '\n') {
isWord = 0;
} else if (isWord == 0) {
isWord = 1;
count++;
}
str++;
}
return count;
}
int main() {
char str[100];
printf("请输入字符串:\n");
fgets(str, 100, stdin);
int count = countWords(str);
printf("单词个数为:%d\n", count);
return 0;
}
```
其中,`countWords`函数用于统计单词个数,`main`函数用于接收输入字符串并输出单词个数。
函数实现的思路是:遍历整个字符串,遇到空格、制表符或换行符时,将`isWord`标志设为0;遇到非空格字符时,如果`isWord`标志为0,则将其设为1并将单词个数加1。最后返回单词个数。
需要注意的是,为了避免输入字符串超出数组范围,这里使用了`fgets`函数来接收输入字符串。
阅读全文