使用C语言编制一个程序,定义一个函数,返回一个字符串中的字母个数和非字母个数 (只考虑英文字母、数字和标点符号)要求用指针作为参数。
时间: 2024-01-22 09:21:13 浏览: 42
可以参考以下代码:
```c
#include <stdio.h>
#include <ctype.h>
void count_char(const char *str, int *alphas, int *non_alphas)
{
int i = 0;
*alphas = 0;
*non_alphas = 0;
while (str[i] != '\0') {
if (isalnum(str[i]) || ispunct(str[i])) {
(*alphas)++;
} else {
(*non_alphas)++;
}
i++;
}
}
int main()
{
char str[] = "Hello, World! 123";
int alphas, non_alphas;
count_char(str, &alphas, &non_alphas);
printf("Number of letters and digits: %d\n", alphas);
printf("Number of non-letters and non-digits: %d\n", non_alphas);
return 0;
}
```
这个程序定义了一个 `count_char` 函数,接受一个字符串指针和两个整型指针作为参数,并且通过这两个指针返回字母和非字母的数量。函数中使用了 `isalnum` 和 `ispunct` 函数来判断字符是否是字母、数字或标点符号。在主函数中,我们定义了一个字符串数组,调用 `count_char` 函数并输出结果。
阅读全文