For the code below, why don't I get a seg fault or some other error/warning, since my_dest is declared with only 1 char?
Doesn't it go over boundary?
#include <stdio.h>
char *MyStrcpy(char* dest, const char* src);
int main(void)
{
char my_src[] = "1234567890";
char my_dest[1];
MyStrcpy(my_dest, my_src);
printf("new dest: %s\n", my_dest);
}
char *MyStrcpy(char* dest, const char* src)
{
char* addr = dest;
while (*dest++ = *src++);
return addr;
}