注释都给你加好了, 自己看看吧。
#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; }
必须出不来
在定义一个数组交替存入两个数组的值,这是我的办法。
当然热行不出来了,你的第二次strcpy会覆盖第一次的结果的