Code:
main() {

char *s1 = "Hello, World!";
char *s2;
s2 = (char *)malloc(strlen(s1)*sizeof(char));


int i=0;

while(i<strlen(s1)){
s2[i]=s1[i];
i++;
}

i=0;
while(i<strlen(s2)){
printf("%c", s2[i]);
i++;
}

printf("\n%d", strlen(s1));
printf("\n%d", strlen(s2));

}
The above program is an implementation of strcpy()
now for this example the length of s2 is greater than s1, shudnt it be the same??
the answer i get is "Hello, World!o"
length of s1 = 13
length of s2 = 14
why is this happening?