用函数实现strcat,但是在返回值有个莫名其妙的报错,怎么也改不了

这是代码
#include<stdio.h>
int strmatch(char str[],char dst[]);
int main()
{
char str[100],dst[100];
gets(str);
gets(dst);
strmatch(str,dst);
printf("%s",strmatch(str,dst));
}
int strmatch(char str[],char dst[])
{
int i,j;
for(i=0;i!='\0';i++)
{
for(j=0;j!='\0';j++)
str[i+j]=dst[j];
}
str[i+j]='\0';
return str;
}
这是报错

img

你的返回值是int str是数组啊!!!

两个for中应该是
str[i]!=
dst[j]!=