C语言函数如何return数组?
展开全部
C语言里无法返回数组,返回指针倒是可以,但是返回一个指向局部变量的指针没有任何意义
#include <stdio.h>
#include <string.h>
char *func(const char *s)
{
char *p=(char *)malloc(sizeof(char)*strlen(s));
strcpy(p,s);
return p;
}
int main(void)
{
char *s=func("hello world");
puts(s);
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
返回数组绝不可能,跟数组作为参数的情况一样
几种变通办法:
返回成员是数组的结构体
返回指向静态数组的指针
让指向数组的指针和数组长度作为参数,把要返回的东西memcpy到作为参数的指针指向的数组中
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数不须用的return就能直接返回数组的,
void fun(char x[])
{x[0]='a';}
main()
{char a[10]="12345";
void fun(char x[]);
fun(a);
printf("%s\n",a);
}
void fun(char x[])
{x[0]='a';}
main()
{char a[10]="12345";
void fun(char x[]);
fun(a);
printf("%s\n",a);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询