指针函数
2. 编写一个程序,输入一个字符串input,字符串长度小于1000,编写函数foo,将input传入foo的参数str。foo函数要在堆中创建一个适当长度的字符串,将str字符串中的大写字符依次复制到堆中的字符串,并将该字符串返回给main。main函数输出返回的字符串后,在堆中销毁该字符串。 #include <stdio.h>#include <stdlib.h>
char * foo(char str[])
{
int i , j ;
char * p ;
if(p = (char *) malloc(sizeof(char) * 1000)) {
for(i = j = 0 ; str ; i ++) if(str >= 'A' && str <= 'Z') p = str ;
p = '\0' ;
} else {
fprintf(stderr , "内存分配失败!\n") ;
}
return p ;
}
int main(void)
{
char str , * p ;
gets(str) ;
p = foo(str) ;
printf("%s\n" , p) ;
free(p) ;
}
编译、运行实况:
D:\00.Excise\C>g++ -o x x.c
D:\00.Excise\C>x
aaaaAaaabbbbBbbbBcccCccccCcccCcddDdDddDddddDdddEEEeeeeeeeeEeeeE123456
ABBCCCDDDDEEEEE
D:\00.Excise\C> jackz007 发表于 2021-11-1 01:28
编译、运行实况:
谢谢
Triste.own 发表于 2021-11-1 01:35
谢谢
如果问题已经解决,应该设置 "最佳答案"。 看来答案
页:
[1]