用函数把两个字符数组连在一块。为什么输出是有方块,而且用指针的函数多出一部分
#include
#include
void strcat1(char s1[],char s2[]);
void strcat2(char *s1,char *s2);
int main()
{
char s1[50],s2[50];
gets(s1);
gets(s2);
strcat1(s1,s2);
strcat2(s1,s2);
return 0;
}
void strcat1(char s1[],char s2[])
{
int i;
int l1,l2;
l1=strlen(s1);
l2=strlen(s2);
for(i=0;i
s1[l1+i]=s2[i];
}
puts(s1);
}
void strcat2(char *s1,char *s2)
{
int i;
int l1,l2;
l1=strlen(s1);
l2=strlen(s2);
for(i=0;i
(s1+l1+i)=(s2+i);
}
*(s1+l1+i)='\0';
puts(s1);
}
为什么输出是有方块,而且用指针的函数多出一部分