Manipulación de arreglos de caracteres como cadenas

#include <stdio.h>
 
/* la función main comienza la ejecución del programa */
int main()
{
   char cadena1[ 20 ]; /* reserva 20 caracteres */
   char cadena2[] = "literal de cadena"; /* reserva 18 caracteres */
   int i; /* contador */
 
   /* lee la cadena del usuario y la introduce en el arreglo cadena1 */
   printf("Introduce una cadena: ");
   scanf( "%s", cadena1 ); /* entrada que finaliza con un espacio en blanco */
 
   /* muestra las cadenas */
   printf( "La cadena1 es: %sncadena2 es: %sn"
           "La cadena1 con espacios entre caracteres es:n",
           cadena1, cadena2 );
 
   /* muestra los caracteres hasta que encuentra el caracter nulo */
   for ( i = 0; cadena1[ i ] != ''; i++ ) {
      printf( "%c ", cadena1[ i ] );
   } /* fin de for */
 
   printf( "n" );
 
   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 :)