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:

C - Leer números separados por coma usando scanf

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.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto