编写一个程序,输入一个字符串input
,编写函数foo
,将input
传入foo
的参数str
。foo
函数要在堆中创建一个适当长度的字符串,将str
字符串中的大写字符依次复制到堆中的字符串,并将该字符串返回给main
。main
函数输出返回的字符串后,在堆中销毁该字符串。
#include<stdio.h>
#include<stdlib.h>
char* foo(char* str);
int main() {
char input[1000],*str,*temp;
//printf("15151");
gets(input);
temp=str=foo(input);
while (*str != '\0') {
printf("%c", *str);
str++;
}
free(temp);
return 0;
}
char* foo(char* str) {
char* temp;
int cnt = 0;
temp = (char*)malloc(1000 * sizeof(char));
for ( cnt = 0; (*str) != '\0'; str++) {
if ((*str) >= 'A' && (*str) <= 'Z') {
temp[cnt] = *str;
cnt++;
}
}
temp[cnt] = '\0';
return temp;
}