Open In App

C | Input and Output | Question 8

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
Please comment below if you find anything wrong in the above post

Article Tags :