Uso de strcpy y strncpy

#include <stdio.h>
#include <string.h>
 
int main()
{ 
   char x[] = "Feliz cumpleanios a ti"; /* inicializa el arreglo de caracteres x */
   char y[ 25 ]; /* crea el arreglo de caracteres y */
   char z[ 15 ]; /* crea el arreglo de caracteres z */
 
   /* contenido de la copia de x dentro de y */
   printf( "%s%sn%s%sn", 
      "La cadena en el arreglo x es: ", x,
      "La cadena en el arreglo y es: ", strcpy( y, x ) );
 
   /* copia los primeros 17 caracteres de x dentro z. No copian el 
      caracter nulo */
   strncpy( z, x, 17 ); 
 
   z[ 17 ] = ''; /* termina la cadena z */
   printf( "La cadena en el arreglo z es: %sn", z );
 
   return 0; /* indica terminación exitosa */
 
} /* fin de main */
 

¿Has encontrado algún error? ¿Tienes la solución? Dejame tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por personas con únicamente conocimiento básico del lenguaje, no de programación.

Otro punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:

  • Si es lenguaje C [c]Código en C[/c]
  • Si es lenguaje Pascal [pascal]Aquí dentro el código de Pascal[/pascal].

De esta manera el código coloreas el código.

Otro punto importante para muchos que sienten que se les ignora: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el con lo siguiente:

Me reservo el derecho de alterar, publicar o no los comentarios as´ como cambiar mis condiciones en el momento que así lo requiera.

¿estas de acuerdo? entonces adelante que ya te he quitado bastante tiempo leyendo esta basura de advertencias :)