Este post es muy básico pero nos enseña cómo leer una variable dada por un usuario en C utilizando la función scanf. Con esta función podemos leer cualquier tipo de dato, siempre y cuando especifiquemos su tipo correctamente.
Se llama scanf
porque escanea según un formato. Como primer argumento recibe el formato (una cadena) y como segundo argumento la dirección de memoria en donde pondrá el valor leído.
Dicha función para leer datos por teclado en C está en la librería stdio.h, lo único que debemos de hacer es incluirla con #include <stdio.h>
.
Para ello primero declaramos la variable, y luego llamamos a la función, pasándole la dirección de la variable usando el operador &
. Por cierto, cuando leemos cadenas eso no es necesario, pasamos el nombre de la variable sin obtener su dirección.
Es así:
/*
Utilizar scanf para leer una variable entera en C
@author parzibyte.me
*/#include <stdio.h>
int main(){
int numero; // Aquí alojaremos el valor leído
printf("Dime un número:\n");
scanf("%d", &numero); // Atención al operador &
printf("El número que pusiste es: %d", numero);
}
El printf antes del scanf sirve para indicarle al usuario lo que debe hacer, porque scanf pausa el programa hasta que lee el valor. El formato utilizado es %d.
Lo mismo que hicimos para un entero, pero ahora con un flotante. Queda así:
/*
Utilizar scanf para leer una variable flotante en C
@author parzibyte.me
*/#include <stdio.h>
int main(){
float numero; // Aquí alojaremos el valor leído
printf("Dime un número flotante:\n");
scanf("%f", &numero); // Atención al operador &
printf("El número que pusiste es: %0.2f", numero);
}
El formato es %f. Presta atención cuando imprimimos el número, usamos %0.2f para que imprima únicamente 2 decimales después del punto; esto es para no mostrar el número en su máxima expresión; pero si quieres puedes usar simplemente %f.
Para leer una cadena en C es casi lo mismo, pero ahora no pasamos la dirección de memoria porque una cadena ya es un apuntador al primer carácter que la conforma.
/*
Utilizar scanf para leer una variable de cadena en C
@author parzibyte.me
*/#include <stdio.h>
int main(){
char cadena[20]; // Aquí alojaremos el valor leído
printf("Escribe tu nombre:\n");
scanf("%s", cadena); // No usamos &
printf("Tu nombre es es: %s", cadena);
}
Nota: por favor lee por qué usar fgets en lugar de scanf si quieres mejorar la seguridad de tus programas.
Puedes leer variables de muchos tipos; especificando el formato. De los que recuerdo, son:
%d para enteros declarados con int
%s para cadenas declaradas con char*
o char cadena[longitud]
%c para caracteres declarados con char
%f para flotantes declarados con float
%l para enteros declarados como long
%llu para enteros que son unsigned long long
(usamos esto cuando vimos cómo convertir binario a decimal)
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.
Ver comentarios
muchas gracias por este blog. me ha servido de mucho en la programación de sockets c/c++.