C | Entrada y Salida | Pregunta 8

¿Cuál de los siguientes es verdadero ?
(A) gets() no realiza ninguna prueba de límite de array y no debe usarse.
(B) fgets() debe usarse en lugar de gets() solo para archivos; de lo contrario, gets() está bien
(C) gets() no puede leer strings con espacios
(D) Ninguna de las anteriores

Respuesta: (A)
Explicación: El uso de gets() genera el riesgo de un desbordamiento del búfer asignado. Esto sucede porque la función gets() no conoce el tamaño del búfer y continúa leyendo hasta que encuentra una nueva línea «\n» o encuentra EOF, por lo que puede desbordar los límites del búfer que se le proporcionó.

¡ Ver gets() es arriesgado de usar!
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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