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;
}