为了账号安全,请及时绑定邮箱和手机立即绑定

请问该如何使用arraycat函数实现连接两个数组的功能?

请问该如何使用arraycat函数实现连接两个数组的功能?

ITMISS 2021-10-05 18:07:54

#include <stdio.h>
#include <stdlib.h>
void main()
{ int *ArrayCat(int *s,int slen,int *t,int tlen);
int a[]={1,3,5,7,9},b[5]={2,4,6,8,10};
int *p=NULL,i;
p=ArrayCat(a,sizeof(a)/sizeof(int),b,5);
for(i=0;i<sizeof(a)/sizeof(int)+5;i++)
printf("%4d",p[i]);
printf("\n");
}
int ArrayCat(int *sw,int slen,int *t,int tlen)
{ static int *st,i;
st=(int *)malloc(sizeof(int)*(slen+tlen));
for(i=0;i<slen;i++)
st[i]=*(sw+i);
for(;i<slen+tlen;i++)
st[i]=*(t+i-slen);
return *st;
}
错误在哪里啊

查看完整描述

2 回答

?
侃侃尔雅

TA贡献1250条经验 获得超12个赞

#include <stdio.h>
#include <stdlib.h>

int *ArrayCat(int *s,int slen,int *t,int tlen); //声明放到主函数外

void main()
{
int a[]={1,3,5,7,9},b[5]={2,4,6,8,10};
int *p=NULL,i;
p=ArrayCat(a,sizeof(a)/sizeof(int),b,5);
for(i=0;i<sizeof(a)/sizeof(int)+5;i++)
printf("%4d",p[i]);
printf("\n");
}

int *ArrayCat(int *sw,int slen,int *t,int tlen) //返回类型与声明一致,返回指针
{
static int *st,i;
st=(int *)malloc(sizeof(int)*(slen+tlen));
for(i=0;i<slen;i++)
st[i]=*(sw+i);
for(;i<slen+tlen;i++)
st[i]=*(t+i-slen);
return st; //返回指针
}



查看完整回答
反对 回复 2021-10-10
?
桃花长相依

TA贡献1267条经验 获得超6个赞

#include <stdio.h> void catstr( char *s1,char *s2 ){        int i=0,j=0;        for( i=0;s1[i]!='\0';i++ );        do        {                s1[i++]=s2[j];        while(s2[j++]!='\0');} int main(){        char s1[100],s2[100];         printf("input s1: " ); gets(s1);        printf("input s2: " ); gets(s2);         catstr( s1,s2 );         printf("s1=%s\n", s1 );        return 0;}



查看完整回答
反对 回复 2021-10-10

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信