This document discusses the key differences between ANSI C and K&R C. It covers four main points: 1) Function prototyping in ANSI C allows compilers to check for invalid function calls, unlike in K&R C. 2) ANSI C supports the const and volatile qualifiers. 3) ANSI C supports internationalization with wide characters and setlocale. 4) ANSI C allows function pointers to be used without dereferencing. The document provides examples to illustrate each point.