如何让一个字符串的字符逐个插入到另一个字符串中

c语言,如何让一个字符串的字符逐个插入到另一个字符串中如abc,def,输出adbecf

循环呗
类似插入排序那样,你要插一个字符之前,要把被插入位置的所有字符往后挪动一个位置
要不然你就构造一个全新的char数组来存放新字符串
比如你有
char a[]
char b[]
char c[]
三个字符串
那么
for(i=0;i<3;i++)
{
c[i*2]=a[i];
c[i*2+1]=b[i];
}

请看这个: http://t.csdn.cn/a8EBq 别人写的程序。

这两个字符串长度相等?如果是不相等的话,多余部分怎么处理?
参考代码:

#include<stdio.h>
#include<string.h>

int main()
{
    char a[] = "abc";
    char b[] = "def";
    int aLen = strlen(a);
    int bLen = strlen(b);
    char c[20] = {0};
    char *p = c;
    for (int i = 0; i<aLen||i<bLen; i++)
    {
        if(i<aLen)
            *p++ = a[i];
        if (i<bLen)
            *p++ = b[i];
    }
    printf("%s", c);
    return 0;
}