C语言指针选出一字符串中大写字母并输出

2025-04-03 16:58:32
推荐回答(2个)
回答1:

你的b字符串没有分配内存空间,程序运行时会崩溃。
预编译头加上#include
在upCopy(b,p)前加上b=(char*)malloc(sizeof(char)*strlen(p));
不过这样可能浪费较多的内存空间,改进方法是加一个函数统计大写字符的个数,然后按个数分配相应的内存空间。

回答2:

#include

void upCopy(char*neww,char*old)

{

int i=0;

for(;*old;old++)

if(*old<='Z'&&*old>='A')

*(neww+i++)=*old;

*(neww+i)='\0';

}

void main()

{

char*p="Im BCAK",b[50];

upCopy(b,p);

printf("%s\n%s\n",b,p);

}