K & R exercise 2.3
K & R exercise 1.8
K & R exercise 1.9