Saltar caracteres enteros, mientras que la lectura usando scanf () en C

Aquí, vamos a aprender cómo saltar cualquier carácter entre números enteros while de entrada utilizando la función scanf () en el lenguaje de programación C ?

dejar suponer, queremos leer el tiempo en HH: MM: SS y almacenar en las variables horas , minutos y segundos , en el que case tenemos que saltar columnas (: ) a partir de los valores de entrada.

Hay dos modos de omitir caracteres:

  1. Saltar cualquier carácter mediante % * c en scanf
  2. Y, especificando los caracteres que hay que saltar

1) Saltar cualquier carácter mediante una % * c en scanf

% c * salta un carácter de la entrada. Por ejemplo, se utilizó % d% * c% d y la entrada es 10:20 : se saltará, también se saltará cualquier carácter.

Ejemplo:

    Input 
Enter time in HH:MM:SS format 12:12:10
Output:
Time is: hours 12, minutes 12 and seconds 10

Programa:

#include <stdio.h>
int main ()
{
int hh, mm, ss;
//input time
printf("Enter time in HH:MM:SS format: ");
scanf("%d%*c%d%*c%d", &hh, &mm, &ss) ;
//print
printf("Time is: hours %d, minutes %d and seconds %dn" ,hh, mm, ss) ;
return 0;
}

salida

Enter time in HH:MM:SS format: 12:12:10
Time is: hours 12, minutes 12 and seconds 10

2) Al especificar los caracteres que hay que saltar

Podemos especificar el carácter que se va a ser usado en la entrada, por ejemplo de entrada es 12:12:10 entonces el carácter : se puede especificar dentro de la scanf () como, % d:% d:% d .

Ejemplo:

    Input 
Enter time in HH:MM:SS format 12:12:10
Output:
Time is: hours 12, minutes 12 and seconds 10

Programa:

#include <stdio.h>
int main ()
{
int hh, mm, ss;
//input time
printf("Enter time in HH:MM:SS format: ");
scanf("%d:%d:%d", &hh, &mm, &ss) ;
//print
printf("Time is: hours %d, minutes %d and seconds %dn" ,hh, mm, ss) ;
return 0;
}

salida

Enter time in HH:MM:SS format: 12:12:10
Time is: hours 12, minutes 12 and seconds 10


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *