如何将不同大小的两个字符串合并到A
的第n个元素和B
的第m个元素。我可以很容易地做到这一点,当他们有相同的大小(假设在这里n=m
)。但无法弄清楚如何处理这个异常。将两个不同大小的字符串合并为C
我的工作zip
代码如下:
char * zip(char *A, char *B, int n)
{
char *C;
int i;
C = malloc((2*n) * sizeof *A);
for(i=0; i<n; i++) {
C[(2*i)]=A[i];
C[(2*i)+1]=B[i];
}
return C;
}
但是,相反只是int n
通过,我想也通过int m
其中n
是要合并的A
的n
第一要素和的m
第一要素B
。因此将以下输入传递给new_zip(char *A, char *B, int n, int m)
。 A="rslxyzkw"; B="eutingxyz";n=3; m=6
,我会得到"resulting"
。
您似乎没有考虑空终止符,或者包含在'n'中?也就是说,'n'代表数组大小还是字符串长度? – Lundin