C语言 编写一个函数,接收一个字符串,统计其中数字字符个数及字母字符个数。函数原型为:void fun(const char *str, int* char_N, int* letter_N);
时间: 2023-12-29 20:02:39 浏览: 70
好的,以下是该函数的代码实现:
```c
void fun(const char *str, int* char_N, int* letter_N) {
int i = 0;
*char_N = 0;
*letter_N = 0;
while(str[i] != '\0') { // 逐个扫描字符串中的字符
if (isdigit(str[i])) { // 判断是否为数字字符
(*char_N)++;
} else if (isalpha(str[i])) { // 判断是否为字母字符
(*letter_N)++;
}
i++;
}
}
```
函数使用了指针作为参数,可以通过指针修改函数外部变量的值。当函数被调用时,它会遍历输入的字符串中的每个字符,判断每个字符是否是数字字符或字母字符,并分别累加它们的个数。
调用该函数的方式如下:
```c
int main() {
char str[] = "Hello, 123!";
int char_N, letter_N;
fun(str, &char_N, &letter_N);
printf("The number of digits is %d\n", char_N);
printf("The number of letters is %d\n", letter_N);
return 0;
}
```
在这个示例中,我们将一个字符串传递给函数 `fun`,同时使用指向 `char_N` 和 `letter_N` 变量的指针作为参数,以记录数字字符和字母字符的数量。最后,在 `main` 函数中,我们打印输出了它们的数量。
阅读全文