from the book  "the standard c library by P.J.Plauger"