En este post sobre C y scanf te enseñaré cómo leer dos números separados por coma. Es decir, solicitar al usuario que ingrese dos números separados por coma y escanearlos por separado usando scanf
.
Por ejemplo, que el usuario digite 12,34
y que nosotros leamos los dos números 12
y 34
por separado.
Lo único que vamos a usar será scanf
; función presente en stdio.h
.
La magia de scanf
Como bien sabes, en C podemos escanear un número indicando el formato y la dirección de memoria en donde se van a colocar los datos leídos. Por ejemplo, para leer un número:
scanf("%d", &numero);
Pero no estamos atados a especificar solo una variable a leer; podemos cambiar el formato. En este caso para escanear dos números separados por coma sería:
scanf("%d,%d", &primerNumero, &segundoNumero);
Y así podemos ir jugando con el formato. En el ejemplo lo verás con mayor claridad.
Ejemplo: leer dos números separados por coma
Vamos al grano. En este caso te mostraré un sencillo programa en donde solicitamos al usuario los dos números y el código queda así:
// https://parzibyte.me/blog
#include <stdio.h>
int main(int argc, char const *argv[])
{
int primerNumero, segundoNumero;
printf("Ingresa dos números separados por una coma:\n");
scanf("%d,%d", &primerNumero, &segundoNumero);
printf("El primer número es %d y el segundo %d", primerNumero, segundoNumero);
return 0;
}
Declaramos los números en la línea 6, los escaneamos en la 8 y los imprimimos en la línea 9. Al final todo funciona como puedes ver a continuación:
Ya con este ejemplo puedes jugar más con los especificadores de formato. También te invito a leer más sobre C en el blog de Parzibyte.