poco me topé con un caso curioso (al menos para mí, ya que no había encontrado antes) .. Considere el código simple a continuación: -scanf() comportamiento curioso!
int x;
scanf("%d",&x);
printf("%d",x);
El código anterior lleva un número entero de entrada normal y muestra la resultado como se esperaba ..
Ahora, si modifico el código anterior a lo siguiente: -
int x;
scanf("%d ",&x);//notice the extra space after %d
printf("%d",x);
Esto toma en otro aporte adicional antes de dar el resultado de la sentencia printf .. no lo hago entender por qué un espacio resu lts en el cambio de comportamiento de la scanf() .. ¿Alguien puede explicar esto a mí ....
scanf es MALO y debe evitarse, por lo que digo I, y otros :): http: // stackoverflow.com/questions/456303/how-to-validate-input-using-scanf – Bukes
@Bukes: sí, si no sabe cómo programar o leer la documentación, no debe usar C –
@Chris Dodd - 'scanf' no puede distinguir entre nuevas líneas y otros espacios en blanco. Si desea un control preciso de su entrada, o la capacidad de recuperarse sanamente de los errores, no puede usar 'scanf' independientemente de lo bien que sepa C. –