C语言合并两个字符串问题

2024-10-31 20:04:18
推荐回答(4个)
回答1:

注释都给你加好了, 自己看看吧。

#include 

#include 

void fun(char * a, char * b, char * c)

{

int i=0,j=0,k=0; //i确定c的字符位置,j确定b,k确定a

if(strlen(a)

{

while(b[j]!='\0') //判断b是不是到结尾

{

if(a[k]!='\0'){  //判断a是不是到结尾

c[i]=a[k];   //

c[i+1]=b[j];//

i+=2;        // 

j++; //

k++;         //交叉插入c当中,c的步长为2就是i+=2,a,b的变量自增

}else {

c[i]=b[j];   //当a插入完后,b由于比a长, b把剩下的值赋给c

i++;

j++;

}

}

c[i]='\0'; //c的末尾加入结束符

}

int main ()

{

char a[81];

char b[81];

char c[81];

printf("Input a:\n");

gets(a);

printf("Input b:\n");

gets(b);

fun(a,b,c);

printf("\n");

puts(c);

return 0;

}

回答2:

必须出不来

回答3:

在定义一个数组交替存入两个数组的值,这是我的办法。

回答4:

当然热行不出来了,你的第二次strcpy会覆盖第一次的结果的