https://freecpp.com/c-interview-question-and-answers-part-a/