编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。用c语言实现并且不用指针
时间: 2023-07-16 15:17:16 浏览: 71
以下是实现该功能的C语言代码:
```c
#include <stdio.h>
void countCharTypes(char str[]) {
int i, alphaCount = 0, numCount = 0, spaceCount = 0, otherCount = 0;
for(i = 0; str[i] != '\0'; i++) {
if((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
alphaCount++;
} else if(str[i] >= '0' && str[i] <= '9') {
numCount++;
} else if(str[i] == ' ') {
spaceCount++;
} else {
otherCount++;
}
}
printf("字母个数:%d\n", alphaCount);
printf("数字个数:%d\n", numCount);
printf("空格个数:%d\n", spaceCount);
printf("其它字符个数:%d\n", otherCount);
}
int main() {
char str[100];
printf("请输入字符串:");
gets(str);
countCharTypes(str);
return 0;
}
```
这里使用了一个自定义的函数 `countCharTypes()` 来统计不同类型的字符个数。在 `main()` 函数中,首先输入字符串,然后调用 `countCharTypes()` 函数,最后输出结果。需要注意的是,由于此题不允许使用指针,因此我们使用了字符数组来存储字符串,并且使用了 `gets()` 函数来输入字符串。但是,`gets()` 函数不安全,容易导致缓冲区溢出等问题。在实际开发中,应该使用更加安全的函数 `fgets()` 来代替 `gets()`。