C语言问题,这是怎么了

来源:百度知道 编辑:UC知道 时间:2024/05/16 03:03:44
#include<stdio.h>

*lank(char *a,char *b)
{int i=0;
while(*a){a++;i++;}while(*b){*a++=*b++;i++;}printf("%d\n",i);
return (a-i);}
void main()
{ char a[6]="abc",b[]="def",*p;

puts(lank(a,b));getchar();}结果为abcdefdef我想实现字符串的连接,但是不知为什么,请高手明示
我用的是wintc 编译

char a[7]="abc",...
给数组a分配7个空间,你连接完了之后,应该有一个字符'\0'表示字符串结束,要不然a和b数组的数据接到了一起,就形成了那个结果

建议你自己查看函数,strcat用来将两个字符串相连起来。