7.定义一个字符串数组str,字符串数组的值为“fdgs345va9”,使用字符指针的方式遍历这个字符串数组,将其中的小写字母过滤出来(“fdgsva”),并保存到一个新的数组str_new中,打印新的数组str_new。c语言
时间: 2024-02-11 09:06:25 浏览: 61
dfsgfdsghsdfhsdfh
好的,我理解了你的问题。以下是解决问题的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main()
{
char str[] = "fdgs345va9";
char *str_new = (char*) malloc(strlen(str) * sizeof(char)); // 分配保存小写字母的新数组
int j = 0;
for (int i = 0; i < strlen(str); i++) {
if (islower(str[i])) { // 判断小写字母
str_new[j++] = str[i];
}
}
str_new[j] = '\0'; // 字符串结尾
printf("原字符串: %s\n", str);
printf("新字符串: %s\n", str_new);
free(str_new); // 释放内存
return 0;
}
```
输出结果为:
```
原字符串: fdgs345va9
新字符串: fdgsva
```
这段代码的思路是:遍历原字符串,如果当前字符是小写字母,就将它保存到新数组中,并将新数组的下标 j 加一。最后,将新数组的结尾设置为 '\0',并输出原字符串和新字符串。
阅读全文