用指针写代码,输入一行文字,找出空格,大写字母,小写字母,数字,和其他字符
时间: 2024-01-12 10:03:28 浏览: 85
以下是用指针写的代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
printf("请输入一行文字:");
fgets(str, 100, stdin);
int n_spaces = 0, n_upper = 0, n_lower = 0, n_digits = 0, n_others = 0;
char *p = str;
while (*p != '\0') {
if (*p == ' ') {
n_spaces++;
} else if (isupper(*p)) {
n_upper++;
} else if (islower(*p)) {
n_lower++;
} else if (isdigit(*p)) {
n_digits++;
} else {
n_others++;
}
p++;
}
printf("空格:%d\n大写字母:%d\n小写字母:%d\n数字:%d\n其他字符:%d\n",
n_spaces, n_upper, n_lower, n_digits, n_others);
return 0;
}
```
该程序使用了一个指针 `p` 来逐个检查字符串中的每个字符,然后根据字符的类型累计计数器的值。在检查完所有字符之后,程序输出各种类型字符的个数。注意,我们使用 `fgets` 函数来从用户输入中读取字符串,以避免缓冲区溢出的问题。
阅读全文