Visual c++6.0 strlen 问题
#include<stdio.h>#include<string.h>
void my_strcat(char s1[],char s2[],int size);
int main()
{
char s1[7]="abcd";
char s2[20]="xyz";
my_strcat(s1,s2,sizeof(s1));
printf("s1:%s\n",s1);
return 0;
}
void my_strcat(char s1[],char s2[],int size)
{
int len=strlen(s1);
int j;
for(j=0;s2[j]!='\0'&&(len+j)<size-1;j++)
{
s1[len+j]=s2[j];
}
s1[len+j]='\0';
}
为什么我在调试过程中发现 len = -858993460,而不是4;