编写一个函数,接收一个字符串,统计其中数字字符个数及字母字符个数。函数原型为:void fun(const char *str, int* char_N, int* letter_N); 用C语言实现
时间: 2024-02-22 16:56:27 浏览: 75
C语言程序设计-输入一行字符,分别统计出英文大小写字母、空格、数字和其他字符的个数
5星 · 资源好评率100%
下面是实现该函数的代码:
```c
#include <stdio.h>
#include <ctype.h>
void fun(const char *str, int* char_N, int* letter_N) {
*char_N = 0;
*letter_N = 0;
while (*str) {
if (isdigit(*str)) {
(*char_N)++;
} else if (isalpha(*str)) {
(*letter_N)++;
}
str++;
}
}
int main() {
int char_N, letter_N;
char str[] = "Hello 123 world!";
fun(str, &char_N, &letter_N);
printf("There are %d digit characters and %d letter characters.\n", char_N, letter_N);
return 0;
}
```
该函数使用指针作为参数,通过指针修改外部变量的值。在函数内部,使用 while 循环遍历字符串,使用 isdigit 和 isalpha 函数判断字符是数字字符还是字母字符,如果是数字字符则计数器 char_N 加 1,如果是字母字符则计数器 letter_N 加 1。函数执行完毕后,将结果保存到指针指向的变量中。最后在主函数中调用该函数并输出结果。
阅读全文