tienes un par de problemas confusos
debería ser
por ser array
está mal porque los 3 str son array, y no pueden ser '\0' eso inplicaría que son un punto de esa cadena
estás sumandole un entero a un array char...
en alguno de estos puntos es el segmentation (o en todos)
Código [Seleccionar]
myStrcat(str1,str2,str3);
debería ser
Código [Seleccionar]
yStrcat(&str1,&str2,&str3);
por ser array
Código [Seleccionar]
(str1 != '\0') && (str2 != '\0')
está mal porque los 3 str son array, y no pueden ser '\0' eso inplicaría que son un punto de esa cadena
Código [Seleccionar]
myStrcat(str1+1, str2, str3+1);
estás sumandole un entero a un array char...
en alguno de estos puntos es el segmentation (o en todos)