Skip to content
Related Articles

Related Articles

Improve Article

C | Input and Output | Question 8

  • Difficulty Level : Basic
  • Last Updated : 01 Jun, 2021

Which of the following is true
(A) gets() doesn’t do any array bound testing and should not be used.
(B) fgets() should be used in place of gets() only for files, otherwise gets() is fine
(C) gets() cannot read strings with spaces
(D) None of the above

Answer: (A)

Explanation: Use of gets() generates the risk of an overflow of the allocated buffer. This happens because the function gets(), doesn’t know the size of the buffer, and continues reading until it finds a newline “\n” or encounters EOF, and so it may overflow the bounds of the buffer it was given.

See gets() is risky to use!

Quiz of this Question

My Personal Notes arrow_drop_up
Recommended Articles
Page :