#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贡献1801条经验 获得超16个赞
#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; //返回指针
}
桃花长相依
TA贡献1860条经验 获得超8个赞
#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;} |
添加回答
举报
0/150
提交
取消
