69,380
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#define N 20
void main()
{
int i,j;
char arr1[] = {'H','e','l','l','o'};
char arr2[] = {'W','o','r','l','d'};
char arr3[N],*ptr1,*ptr2,*ptr3;
ptr1 = arr1;
ptr2 = arr2;
ptr3 = arr3;
printf("\n 前两个数组合并后的结果为:");
for(i=0;i<N;i++)
{
*(ptr3+i) = *(ptr1+i);
}
for(j=0;j<N;j++)
{
*(ptr3+i+j) = *(ptr2+j);//i=20;再加上j,都超过范围了,不是乱七八糟的东西才怪
}
for(j=0;j<N;j++)
{
printf("%c", *(ptr3+j));
}
printf("\n");
}
#include <stdio.h>
#define N 20
void main()
{
int i,j;
char arr1[] = {'H','e','l','l','o'};
char arr2[] = {'W','o','r','l','d'};
char arr3[N],*ptr1,*ptr2,*ptr3;
ptr1 = arr1;
ptr2 = arr2;
ptr3 = arr3;
printf("\n 前两个数组合并后的结果为:");
for(i=0;i<sizeof(arr1);i++)
{
*(ptr3+i) = *(ptr1+i);
}
for(j=0;j<sizeof(arr2);j++)
{
*(ptr3+i+j) = *(ptr2+j);
}
for(j=0;j<sizeof(arr1)+sizeof(arr2);j++)
{
printf("%c", *(ptr3+j));
}
printf("\n");
}