Copia de una cadena con el uso de notación de arreglos y notación de apuntadores

#include <stdio.h>
 
void copia1( char *s1, const char *s2 ); /* prototipo */
void copia2( char *s1, const char *s2 ); /* prototipo */
 
int main()
{
   char cadena1[ 10 ];         /* crea el arreglo de caracteres */
   char *cadena2 = "Hola";     /* crea un apuntador a una cadena */
   char cadena3[ 10 ];         /* crea el arreglo de cadena cadena3 */
   char cadena4[] = "Adios";   /* crea un apuntador a una cadena */
 
   copia1( cadena1, cadena2 );
   printf( "cadena1 = %sn", cadena1 );
 
   copia2( cadena3, cadena4 );
   printf( "cadena3 = %sn", cadena3 );
 
   return 0; /* indica terminación exitosa */
 
} /* fin de main */
 
/* copia s2 en s1 con el uso de la notación de arreglos */
void copia1( char *s1, const char *s2 )
{
   int i; /* contador */
 
   /* realiza el ciclo a través de la cadena */
   for ( i = 0; ( s1[ i ] = s2[ i ] ) != ''; i++ ) {
      ;   /* no realiza tarea alguna en el cuerpo */
   } /* fin de for */
 
} /* fin de la función copia1 */
 
/* copia s2 en s1 con el uso de la notación de apuntadores */
void copia2( char *s1, const char *s2 )
{
   /* realiza el ciclo a través de las cadenas */
   for ( ; ( *s1 = *s2 ) != ''; s1++, s2++ ) {
      ;   /* no realiza tarea alguna en el cuerpo */
   } /* fin de for */
 
} /* fin de la función copia2 */

¿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 :)