c语言怎么返回字符串数组?
charstrcatf(charstr1[],charstr2[])[]{inti=-1,j=0;while(str1[++i]!='\0');//计算出的i就是字符串s...
char strcatf(char str1[],char str2[])[]
{
int i=-1,j=0;
while(str1[++i]!='\0'); //计算出的 i 就是字符串str1的长度
while(str2[j]!='\0') //将str2的字符复制给str1字符的后面,也就是第i个开始
str1[i++]=str2[j++];
str1[i]='\0'; //在最后加上字符串的结束符'\0'
return str1;
}
main()
{
printf("%s",strcatf(j,i));之前省略了其他代码,此处j,i为两个字符串数组(char X[ ])
}
错误代码只有一句,,,error C2090: function returns array,这该怎么处理?我想返回一个字符串数组,入股我的方法不行我该怎么处理? 展开
{
int i=-1,j=0;
while(str1[++i]!='\0'); //计算出的 i 就是字符串str1的长度
while(str2[j]!='\0') //将str2的字符复制给str1字符的后面,也就是第i个开始
str1[i++]=str2[j++];
str1[i]='\0'; //在最后加上字符串的结束符'\0'
return str1;
}
main()
{
printf("%s",strcatf(j,i));之前省略了其他代码,此处j,i为两个字符串数组(char X[ ])
}
错误代码只有一句,,,error C2090: function returns array,这该怎么处理?我想返回一个字符串数组,入股我的方法不行我该怎么处理? 展开
4个回答
展开全部
C语言返回值不支持返回数组,不过可以通过返回指针类型,用以替代数组。在C语言中,数组大多数时候是可以用指针替代的。
不过需要注意的是,不能够返回在函数内部定义的局部变量数组,因为一旦函数退出,局部变量就会被释放,导致数组指针无效。
可以返回以下几种:
1 全局变量,或者全局变量空间内的一个地址。
2 静态局部变量,或者静态局部变量内部的一个地址。
3 从参数传入的数组/指针变量,或者在其上做的合法偏移。
4 在数组内部动态申请的空间首地址。
不过需要注意的是,不能够返回在函数内部定义的局部变量数组,因为一旦函数退出,局部变量就会被释放,导致数组指针无效。
可以返回以下几种:
1 全局变量,或者全局变量空间内的一个地址。
2 静态局部变量,或者静态局部变量内部的一个地址。
3 从参数传入的数组/指针变量,或者在其上做的合法偏移。
4 在数组内部动态申请的空间首地址。
展开全部
1、在void strcat()的strcat前添加*,表示返回char 指针。
2、strcat()应该返回str1,即 return str1。str1是连接的结果,调用者有责任确保str1数组空间足够大,以便在其尾部添加str2后,不会覆盖其他数据空间。
2、strcat()应该返回str1,即 return str1。str1是连接的结果,调用者有责任确保str1数组空间足够大,以便在其尾部添加str2后,不会覆盖其他数据空间。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char * strcatf(char str1[],char str2[])
加一个*号即可,返回的就是指针类型
加一个*号即可,返回的就是指针类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char* strcatf(char str1[],char str2[]) //想放回字符串数组的话,就返回首地址。
{
...
return str1;
}
{
...
return str1;
}
追问
这里面的str1和穿过来的str1不同,返回值是str1和str2的连接吖
追答
char* strcatf(char str1[],char str2[])
{
int i=-1,j=0;
char *str = str1;
while(str1[++i]!='\0'); //计算出的 i 就是字符串str1的长度
while(str2[j]!='\0') //将str2的字符复制给str1字符的后面,也就是第i个开始
str1[i++]=str2[j++];
str1[i]='\0'; //在最后加上字符串的结束符'\0'
return str;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询