I think printf() is one of the more interesting functions in the standard C library to examine, since it is both so often-used and has the very visible effect of producing output. It also shows some of the ways in which data can be interpreted. Variants or limited-functionality versions of it can make good assignments for programming courses.
Printing floating-point numbers is also another topic that is subtly more difficult than it looks at first glance... here's one of the better articles about it: http://www.ampl.com/REFS/rounding.pdf
Printing floating-point numbers is also another topic that is subtly more difficult than it looks at first glance... here's one of the better articles about it: http://www.ampl.com/REFS/rounding.pdf