Conversación en C

De Ejercicios

Contenido

Enunciado

Si has realizado el primer ejercicio en C seguro que te ha dejado con ganas de responder a la pregunta que aparece en la pantalla. Para ello es necesario utilizar la función scanf(). Esta función permite leer tanto números como cadenas de caracteres, pero cuando encuentra blancos, tabuladores o espacios en blanco, termina de leer. Crea el siguiente programa en un fichero llamado hola2.c.

Soluciones

Programa en C por Angel

Solución comentada al Ejercicio

 /* fichero hola2.c */
 /* Este programa saluda más personalmente */
 #include <stdio.h>
 void main(void) {
   char nombre[30];
   printf("Hola! Como te llamas?\n");
   scanf("%s", nombre);
   printf("Que tal estas, %s?\n", nombre);
 }

Comentario

La sentencia char nombre[30], declara una variable llamada nombre que es una cadena de 30 caracteres (tipo char). Estos caracteres se numeran del 0 al 29, y deben incluir la marca de fin de cadena '\0'. Con la función scanf(), se lee lo que será el contenido de dicha cadena por medio del formato %s, que es propio de las cadenas de caracteres. Como la lectura se detiene al encontrar un blanco, un carácter nueva línea o un tabulador, por medio de este programa no se puede leer una frase completa, sino sólo una palabra.

Observa que a la función scanf() hay que pasarle los argumentos por referencia. Como nombre es de por sí la dirección de nombre[0] no hace falta precederlo por el operador (&).