编号 |
页码和行数 |
更正前 |
更正后 |
注 |
1 |
P11(倒数第6行) |
任何C程序都必须以main()作为开头 |
用标准C编写的程序都是以main()作为开头的 |
原来的表述不严密、太绝对,没有考虑面向对象程序 |
2 |
P31(第11和12行) |
因此,良好的程序设计风格提倡…… |
删掉“因此”两个字,或者改成“通常” |
后面的例子放在前面的话,适合用“因此”,否则就应删掉 |
3 |
P39正数第4行 |
其次,将数学公式…….. |
当a,b,c被定义为整型变量时,将数学公式….. |
|
4 |
P39正数第15-16行 |
根据上述分析,编写程序如下: |
根据上述分析,本例将a,b,c定义为float型变量,程序如下: |
|
5 |
P39程序的第8行语句 |
s = (float)(a+b+c)/2; area = sqrt(s*(s-a)*(s-b)*(s-c)); |
s = (a+b+c)/2; area = (float)sqrt(s*(s-a)*(s-b)*(s-c)); |
|
6 |
P46第16~18行 |
由于字符'A'与字符'a'相减,相当于字符'A'与字符'a'的ASCII码值相减,也相当于字符'B'与字符'b'的ASCII码值相减 |
由于字符'a'与字符'A'相减,相当于字符'a'与字符'A'的ASCII码值相减,也相当于字符'b'与字符'B'的ASCII码值相减 |
|
7 |
P46倒数第7行和倒数第8行 |
Press a key and then press Enter: B↙ B Press a key and then press Enter: A↙ a |
Press a key and then press Enter: B↙ bPress a key and then press Enter: A↙ a |
原稿无误,排版印刷后因增加了换行导致了错误 |
8 |
P48第19行 |
函数getchar() |
函数putchar() |
|
9 |
P50第2行 |
circumference =33.30, area =88.25 |
circumference = 33.30, area = 88.25 |
原稿无误,排版印刷后因减少了空格导致了错误 |
10 |
P51表4-5后的第一行 |
在用函数scanf()输入数据时 |
在用函数scanf()输入数值型数据时 |
原来的叙述不严密 |
11 |
P62 |
如果试图改变这个顺序 |
其中的某些步骤的顺序是不能改变的,否则 |
原来的叙述不严密 |
12 |
|
|
为什么160页前的源程序和160页后的源程序中main函数的格式不统一,已在第160页7-13行进行了说明。 这是因为前面的章节没有介绍函数返回值的概念,从这里开始介绍函数返回值的概念后统一使用了标准的格式。 |
|
13 |
357习题11.4 |
在习题7.3的基础上 |
在习题11.3的基础上 |
|
14 |
357习题11.4 |
int (*at)[ROW] |
int (*at)[M] |
|
15 |
319页正数第9行和第10行(程序的第7、8行)注释中 |
一维数组 |
数组a |
以避免造成误解 |
16 |
第264页第5~6行程序的注释 |
/*升序排序原函数型*/ /*降序排序原函数型*/ |
/*升序排序函数原型*/ /*降序排序函数原型*/ |
|
17 |
第419页倒数第13行 |
unsigned fread(void *buffer, unsigned size, unsigned count, FILE *fp); |
unsigned int fread(void *buffer, unsigned int size, unsigned int count, FILE *fp); |
|
18 |
第419页倒数第7行 |
unsigned fwrite(const void *buffer, unsigned size, unsigned count, FILE *fp); |
unsigned int fwrite(const void *buffer, unsigned int size, unsigned int count, FILE *fp); |
|
19 |
357页习题11.4倒数第4行 |
int (*at)[ROW] |
int (*at)[M] |
|