输入一个字符串,将这个字符串中的大写字母除去,输出剩下的字符组成的字符串,用指针做
时间: 2023-08-16 19:06:24 浏览: 80
1-1_汇编语言输入混合字符串_
可以使用指针遍历字符串中的每一个字符,判断其是否为大写字母,如果不是则将其加入到新字符串中。
下面是一份示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h> // 使用 isupper 函数判断是否为大写字母
char* remove_uppercase(char* str);
int main()
{
char str[] = "HeLLo WOrLd!";
char* result = remove_uppercase(str);
printf("Result: %s", result);
free(result); // 必须释放动态分配的内存
return 0;
}
char* remove_uppercase(char* str)
{
char* result = (char*)malloc(sizeof(char) * (strlen(str) + 1)); // 动态分配内存
char* p = result; // 指向新字符串的指针
while (*str != '\0')
{
if (!isupper(*str)) // 如果不是大写字母
{
*p = *str; // 将该字符加入到新字符串
p++;
}
str++;
}
*p = '\0'; // 加入字符串结束符
return result;
}
```
这里需要注意两点:
1. 动态分配了内存,需要在使用完毕后释放。
2. 新字符串必须以字符串结束符 `\0` 结尾。
阅读全文