Skip to content
Related Articles

Related Articles

C | Input and Output | Question 8

Improve Article
Save Article
  • Difficulty Level : Basic
  • Last Updated : 01 Jun, 2021
Improve Article
Save Article

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
Related Articles

Start Your Coding Journey Now!