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;
}
 
    