怎么回事?高手指点啊啊

来源:百度知道 编辑:UC知道 时间:2024/05/28 16:56:10
要编一个函数,把两字符串连起来.但我的运行结果却是娃娃脸
#include<stdio.h>
#include<string.h>
void strcat (char a[],char b[])
{
int i=0,j=0;
while(a[i]!='\0')i++;
while(a[i++]=b[j++]!='\0');
}
void main()
{
char a[80],b[80];
gets(a);gets(b);
strcat(a,b);
printf("%s\n",a);
}

#include "stdio.h"
#include "conio.h"
main()
{
char a[80];
char b[80];
char c[160],*p;
int i=0,j=0,k=0;

printf("input the first string:");
gets(a);
printf("input the second string:");
gets(b);

while(a[i]!='\0'&&b[j]!='\0')
{
if (a[i]<b[j])
{
c[k]=a[i];i++;
}
else
c[k]=b[j++];
k++;
}
c[k]='\0';
if(a[i]=='\0')
p=b+j;
else
p=a+i;
strcat(c,p);
puts(c);
}

已经运行成功的!

#include<stdio.h>
/*#include<string.h> 你这句是多余的,会报错的*/
void strcat (char a[],char b[])
{
int i=0,j=0;
while(a[i]!='\0')i++;
while((a[i++]=b[j++])!='\0');/*代码在这里被我