C for Dummies Errata

Page 40
The scanf() statement doesn't require a & to read in a string variable. The presense of the & generates a warning message in some compilers. Change the line to read:
Page 51
COLOR is a Win2000 command. As such, that command runs before your COLOR.EXE program does. To solve this, run your COLOR program from the command prompt in this manner:
Just as in Unix, if you specify the program file's location, it runs from that location. In this case, .\ specifies the current directly, so that your COLOR command runs instead of the Windows COLOR command.
Page 59
In the first paragraph, /* is used instad of */. The sentence should read, "Remember that final */; otherwise, the C compiler thinks that your whole program is just one big, long comment (possible, but not recommended)."
Page 96
The last word in the first paragraph on the page should be number not letter. Try not to use a number as the first letter of a variable name.
Page 112
More formatting woe. The range for a singed long int is from -2,147,483,648 to 2,149,483,647; the range for an unsigned long int is from 0 to 4,294,967,295.
Page 119
The last example on the page is wrong. I was drunk.
The wildcard %6f spits out six digits to the right of the decimal place whether the value has a decimal part or not. So the float value 123456 would print like this:
The value 1234.5678 would print like this:
(Those are imprecise values to the right of the decimal, but there are six of them.)
To just print out six digits to the left of the decimal, use %6.f. To print out six digits to the right, use %.6f.
Page 122
In the sidebar, a reference is made to looking up a value in Appendix B. Sadly, Appendix B does not list the character referenced.
Page 126
Third paragraph, var would be an integer variable, not a char.
In the source code, the variable key should be defined as an int, not a char.
Page 234
The sleep() function requires the header file unistd.h.
Page 262
Second to last paragraph, it should be the atoi() function, not atio().
Page 302
The defined variable BLECH is specified in the code, though it should be written BELCH. (Actually, the header file is incorrect, but the error shows up in the code. I use BLECH as a work and the proofer probably changed it to BELCH.)
Page 309
In the 8th paragraph, the \t character moves the cursor a predefined number of spaces to the right, not to the left.
Pages 314-316
Typesetting errors make the math on this page read goofy. Starting with the third from last paragraph on page 314:
4 × 4 is 42, not 42
4 × 4 × 4 is 43, not 43
In the first paragraph atop page 315, the value is 45 not 45. And in the fifth paragraph, it should read 42 not 42.
In the last paragraph on page 315, the value should be 28, not 28.
On page 316, the first paragraph about the check marks, the value 28 should be 28.
Finally, the last bullet on page 316 should show 28 as the value for 2^8.
Page 334
The code sample at the top of the page should read:
m = big % 5;
Page 366
The directory name for Dev-C++ is listed incorrectly. It should be C:\Dev-C++ not C:\Dev=C++.