scanf (“% [^ \ n] s”, a) vs gets (a)
Me han dicho que scanf no debe usarse mientras el usuario ingresa una cadena. En su lugar, vaya por gets () por la mayoría de los expertos y también por los usuarios de StackOverflow. Nunca pregunté en StackOverflow por qué uno no debería usar scanf over gets para cadenas. Esta no es la pregunta real, pero la respuesta a esta pregunta es muy apreciada.
Ahora llegando a la pregunta real. Me encontré con este tipo de código:
scanf("%[^\n]s",a);
Esto lee una cadena hasta que el usuario ingresa un nuevo carácter de línea, considerando los espacios en blanco también como cadena.
¿Hay algún problema si uso
scanf("%[^\n]s",a);
en lugar de consigue?
Is se optimiza más que la función scanf como suena, gets está puramente dedicado a manejar cadenas. Por favor, hágamelo saber acerca de esto.
Actualiza
Est link me ayudó a entenderlo mejor.