这个代码有差一错误,但我怎么都改不对

int main(void)
{
char s1[] = "012345678";
char s2[] = "0123456789";
char dest;
int i;
strcpy_s(s1, sizeof(s2), s2);
dest = (char
)malloc(strlen(s1)


```);
    cout<<sizeof(dest);
    for ( i = 0; i <11; i++)
    {
        dest[i] = s1[i];
    }
    dest[i] = '\0';
    printf("dest=%s", dest);
}
麻烦各位大神看一看!!
不知道你程序要干嘛,是连接两个字符串还是干嘛,又s1又s2的。如果是连起来拷贝到dest,写法如下

int main(void)
{
char s1[] = "012345678";
char s2[] = "0123456789";
char * dest;
dest = (char *)malloc(strlen(s1)+strlen(s2)+1);
int i;
strcpy_s(dest, strlen(s2)+1, s2);
    cout<<sizeof(dest);
    for ( i = 0; i <9; i++)
    {
        dest[i+10] = s1[i];
    }
    dest[i+10] = '\0';
    printf("dest=%s", dest);
}