scanf y entrada
Lea la entrada del usuario
scanf y entrada es una lección gratuita de C Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C Academy incluye 4 lecciones en total.
Qué hace scanf
scanf lee la entrada con formato que escribe el usuario. Utiliza los mismos especificadores que printf.
#include <stdio.h>
int main(void) {
int x = 0;
/* scanf("%d", &x); */
x = 5;
printf("x = %d\n", x);
return 0;
}El operador de dirección
scanf necesita la dirección de una variable para poder almacenar allí el valor. Por eso se escribe &x.
#include <stdio.h>
int main(void) {
int x = 42;
int *p = &x;
printf("value via address = %d\n", *p);
return 0;
}Lectura de un entero
Para leer un entero, pase %d y la dirección de un int.
#include <stdio.h>
int main(void) {
int n;
/* scanf("%d", &n); */
n = 7;
printf("You entered %d\n", n);
return 0;
}Lectura de un número real
Para leer un float, use %f; para un double, use %lf.
#include <stdio.h>
int main(void) {
double d;
/* scanf("%lf", &d); */
d = 3.14;
printf("d = %.2f\n", d);
return 0;
}Lectura de varios valores
Un scanf puede leer varios valores separados por espacios en blanco.
#include <stdio.h>
int main(void) {
int a, b;
/* scanf("%d %d", &a, &b); */
a = 3; b = 4;
printf("sum = %d\n", a + b);
return 0;
}Lectura de un carácter
Use %c para leer un carácter. Tenga cuidado: también lee espacios y saltos de línea.
#include <stdio.h>
int main(void) {
char c;
/* scanf(" %c", &c); */
c = 'X';
printf("char = %c\n", c);
return 0;
}Lectura de una palabra
%s lee una palabra delimitada por espacios en blanco en un array de caracteres. No se necesita & porque el nombre de un array ya es una dirección.
#include <stdio.h>
int main(void) {
char word[20];
/* scanf("%s", word); */
word[0] = 'H'; word[1] = 'i'; word[2] = 0;
printf("word = %s\n", word);
return 0;
}Valor de retorno de scanf
scanf devuelve cuántos elementos ha leído correctamente. Compruébelo para detectar entradas incorrectas.
#include <stdio.h>
int main(void) {
int n = 5;
int read = 1; /* pretend scanf returned 1 */
if (read == 1)
printf("got %d\n", n);
return 0;
}Omisión de espacios iniciales
Los especificadores numéricos omiten automáticamente los espacios en blanco iniciales, pero %c no lo hace. Un espacio delante de %c soluciona este problema.
#include <stdio.h>
int main(void) {
char c = 'Y';
printf("Reading with \" %%c\" skips spaces\n");
printf("c = %c\n", c);
return 0;
}Validación de la entrada
Compruebe siempre el valor de retorno antes de confiar en los datos.
#include <stdio.h>
int main(void) {
int value = 10;
int ok = 1;
if (ok)
printf("valid: %d\n", value);
else
printf("invalid input\n");
return 0;
}Cómo encaja todo
Un programa típico solicita un valor, lo lee y después lo utiliza.
#include <stdio.h>
int main(void) {
int age;
printf("Enter age: ");
/* scanf("%d", &age); */
age = 20;
printf("Next year you will be %d\n", age + 1);
return 0;
}Comprobación rápida
Compruebe sus conocimientos sobre scanf.
Repaso: scanf y la entrada
Ha aprendido a leer la entrada del usuario.
scanfutiliza especificadores al estilo de printf- Pase
&varpara indicarle dónde almacenar el valor - Use
%lfpara double y%spara palabras - Compruebe el valor de retorno para validar la entrada
- Escriba un espacio antes de
%cpara omitir los espacios en blanco
Preguntas frecuentes
¿La lección «scanf y entrada» es gratis?
Sí — el texto completo de «scanf y entrada» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C Academy, actualiza a CoddyKit PRO. El curso de C Academy incluye 4 lecciones en total.
¿Qué aprenderé en «scanf y entrada»?
Lea la entrada del usuario Practicas C Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C Academy?
No se requiere experiencia previa. C Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «scanf y entrada»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C Academy?
Sí. Cada lección de C Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.