【发布时间】:2017-10-05 22:34:09
【问题描述】:
如何将两个不同大小的字符串逐个字符地合并到A 的第n 个元素和B 的第m 个元素。当它们具有相同的大小时,我可以轻松地做到这一点(假设这里是n=m)。但不知道如何处理这个异常。
我的工作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 的第一个元素和B 的m 的第一个元素。因此将以下输入传递给new_zip(char *A, char *B, int n, int m)。 A="rslxyzkw"; B="eutingxyz";n=3; m=6,我会得到"resulting"。
【问题讨论】:
-
您似乎没有考虑空终止符,还是
n中包含空终止符?也就是n是代表数组大小还是字符串长度?