请分别使用字符数组和字符指针实现输入一行字符,用函数编程统计其中有多少个单词,假设单词之间用空格隔开
时间: 2023-12-26 07:09:47 浏览: 75
使用字符数组:
```c
#include <stdio.h>
#include <string.h>
int count_word(char str[]) {
int count = 0;
int is_word = 0;
for (int i = 0; i < strlen(str); i++) {
if (str[i] == ' ') {
is_word = 0;
}
else if (!is_word) {
is_word = 1;
count++;
}
}
return count;
}
int main() {
char str[100];
printf("请输入一行字符:");
fgets(str, sizeof(str), stdin); // 使用 fgets 函数读入一行字符
int count = count_word(str);
printf("单词个数为:%d\n", count);
return 0;
}
```
使用字符指针:
```c
#include <stdio.h>
#include <string.h>
int count_word(char *str) {
int count = 0;
int is_word = 0;
for (int i = 0; i < strlen(str); i++) {
if (str[i] == ' ') {
is_word = 0;
}
else if (!is_word) {
is_word = 1;
count++;
}
}
return count;
}
int main() {
char str[100];
char *p = str;
printf("请输入一行字符:");
fgets(str, sizeof(str), stdin); // 使用 fgets 函数读入一行字符
int count = count_word(p);
printf("单词个数为:%d\n", count);
return 0;
}
```
阅读全文