将两个字符串连接,但输出还是原来的字符串问题在哪?

//将两个字符串连接(把b接到a的后面)
#include<stdio.h>
#include<string.h>
int main()
{
char a[1000],b[1000];
char con(char a[1000],char b[1000]);
printf("输入a字符串:");
gets(a);
printf("输入b字符串:");
gets(b);
con(a,b);
puts(a);
return 0;
}
char con(char a[1000],char b[1000])
{
int i,la,lb;
la = strlen(a);
lb = strlen(b);
for(i = 0;i < lb;i ++)
{
a[++la] = b[i];
}
printf("%d\n",la);
return a;
}

a[la++]
a[la]是结束符'\0',要从a[la]开始