#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条经验 获得超15个赞
#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
提交
取消