输入一行字符,用函数编程统计其中有多少个单词。假设单词之间以空格分开(请尝试分别使用字符数组和字符指针实现)使用c语言
时间: 2023-12-26 12:12:19 浏览: 53
使用字符数组实现:
```c
#include <stdio.h>
int countWords(char str[]) {
int count = 0;
int i = 0;
while (str[i] != '\0') {
if (str[i] == ' ') {
count++;
}
i++;
}
return count + 1;
}
int main() {
char str[100];
printf("请输入一行字符:");
gets(str);
int num = countWords(str);
printf("单词个数:%d\n", num);
return 0;
}
```
使用字符指针实现:
```c
#include <stdio.h>
#include <string.h>
int countWords(char *str) {
int count = 0;
char *p = strtok(str, " ");
while (p != NULL) {
count++;
p = strtok(NULL, " ");
}
return count;
}
int main() {
char str[100];
printf("请输入一行字符:");
gets(str);
int num = countWords(str);
printf("单词个数:%d\n", num);
return 0;
}
```
两种方法的区别在于:使用字符数组实现需要逐个遍历字符,而使用字符指针实现则可以使用 `strtok()` 函数进行分割字符串。