Errata for K&R
		K&R, a.k.a. The C Programming Language is, so far as I can tell, the best book ever written about C.
		It is well written, and almost invariably correct. 
		The following is a list of the errors I am aware of, sorted by
		page number. It is a very small list for a 200+ page book about
		the C language; an equivalent list for Herbert Schildt's C: The Complete Reference would be at least 90k. (For the third edition; earlier ones were
		dramatically worse.) 
		I am probably missing several errors. Please write me if you think
		you know of any I'm missing. 
		Currently known: 
		
			- Various places 
 
			- Several functions are provided which implement parts of the standard
			library; this is technically not allowed, as those names are reserved.
			e.g., if one wished to implement a quicksort function, one would
			be obliged to name it something other than "qsort". 
			
 
			- Page 114 
 
			- Near the top, a quote is missing after the name Jan.
			
 
			- Page 117 
 
			- The sample program increments 
argv[0]. Although argv is modifiable, and argv[0][0] is modifable (if argv[0] is not a null pointer), argv[0] is not modifiable. (At least, not always.) 
			 
			- Page 119 
 
			- The sample program casts function pointers in a very dubious way.
 
			
			- Page 167 
 
			- It is asserted that the pointer returned by malloc or calloc must be converted to an appropriate type; this is not true in
			ANSI C. 
 
			- Page 241 
 
			- Of course, actually the library is a part of the language, and although it must be possible to take
			the address of the functions in the library, a compiler is allowed
			to inline and optimize calls, and many do. However, it is a part
			of the language definition. (Of course, it's not a part of a freestanding
			implementation; in this respect, the book is correct.) 
			
 
		
		
		
		Comments about this web page can be sent to: 
		seebs@plethora.net