- scanf tiene un tipo de retorno Devuelve un int que indica el número de campos (variables) explorados con éxito.
Tomemos un ejemplo:
#include
vacío principal(){
int i, a, b;
i = scanf (“% d% d”, & a, & b);
printf (“% d”, i);
}
Para la entrada “256 89” la salida será 2 . Para la entrada “12abcd”, la salida será 1 porque scanf exploró el valor 12 para la variable a, pero no lo hizo para la variable b .
2. scanf trunca todos los caracteres ingresados inválidos hasta que encuentra uno válido para escanear un campo.
Ejemplo:
- ¿Cuáles son algunos consejos y trucos que hacen que su trabajo sea mucho más fácil pero que no son conocidos por los que no son meseros?
- ¿Cuáles son algunos consejos para usar SAW en Vainglory?
- ¿Cuál es el mejor truco en matemáticas?
- ¿Cuáles son algunos consejos de supervivencia para una emergencia?
- ¿Cuáles son algunos consejos para la optimización de la tienda de aplicaciones?
#include
vacío principal(){
int a
scanf (“% d”, & a);
printf (“% d”, a);
}
Para la entrada “asdfasd2500”, la salida será 2500 porque todos los caracteres anteriores a 2500 se han truncado porque la variable a aún no se ha escaneado.
3. Si desea la entrada en el formato de una cadena precedida por un entero (ejemplo, “12hello”) pero no desea almacenar el entero, puede usar el carácter de supresión de entrada “ * ” como sigue:
#include
vacío principal(){
char str [100];
scanf (“% * d% s”, & str); // AVISO THE% * d que ignora ese específico
//campo
}
4. Al escanear una cadena, scanf deja de escanear cuando encuentra caracteres de espacios en blanco que son espacios, caracteres de nueva línea, caracteres nulos, EOF, EOL, etc.
5. Para una cuerda str
scanf (“% s”, & str) y scanf (“% s”, str); No hace diferencia.