用C语言编写输入一行字符,分别统计出其中英文字母、数字和其它字符的个数,采用指针操作完成上述工作
时间: 2024-02-27 09:56:21 浏览: 24
好的,下面是C语言代码:
```c
#include <stdio.h>
#include <ctype.h>
void count_chars(char *str, int *letters, int *digits, int *others) {
while (*str != '\0') {
if (isalpha(*str))
(*letters)++;
else if (isdigit(*str))
(*digits)++;
else
(*others)++;
str++;
}
}
int main() {
char str[100];
int letters = 0, digits = 0, others = 0;
printf("请输入一行字符:");
fgets(str, 100, stdin);
count_chars(str, &letters, &digits, &others);
printf("字母个数:%d\n数字个数:%d\n其他字符个数:%d\n", letters, digits, others);
return 0;
}
```
在函数`count_chars`中,使用指针来修改`letters`、`digits`和`others`的值,最终在`main`函数中输出它们的值。注意使用`fgets`函数来读取输入的一行字符,而不是`scanf`,因为`scanf`会在遇到空格或换行符时停止读取。
相关推荐
![md](https://img-home.csdnimg.cn/images/20210720083646.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)