编写一个程序,要求输入一个字符串后,能分别指出其中大、小字母及数字和其他字符的个数。(使用指针)
时间: 2024-04-29 07:25:57 浏览: 73
好的,这是一个关于字符串处理的问题。我们可以通过定义指针来对字符串中的字符进行分类统计。以下是一个示例程序:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
char *p;
int upper_count = 0, lower_count = 0, digit_count = 0, other_count = 0;
printf("请输入一个字符串:\n");
gets(str);
p = str;
while (*p) {
if (isupper(*p))
upper_count++;
else if (islower(*p))
lower_count++;
else if (isdigit(*p))
digit_count++;
else
other_count++;
p++;
}
printf("大写字母个数:%d\n", upper_count);
printf("小写字母个数:%d\n", lower_count);
printf("数字个数:%d\n", digit_count);
printf("其他字符个数:%d\n", other_count);
return 0;
}
```
请注意,此程序使用 `gets()` 函数来读取输入的字符串,但这是不安全的。实际上,应该使用 `fgets()` 函数来保证程序不会受到缓冲区溢出攻击。此外,还可以使用 `scanf()` 函数来读取字符串,但这需要避免缓冲区溢出的反复输入,因为它在遇到空格、制表符或换行符时会停止。
阅读全文