Open In App
Related Articles

C | Input and Output | Question 8

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

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

Last Updated : 01 Jun, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads