编号

页码和行数

更正前

更正后

1

P11(倒数第6)

任何C程序都必须main()作为开头

用标准C编写的程序都main()作为开头

原来的表述不严密、太绝对,没有考虑面向对象程序

2

P31(1112)

因此,良好的程序设计风格提倡……

删掉“因此”两个字,或者改成“通常”

后面的例子放在前面的话,适合用“因此”,否则就应删掉

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

P4616~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

P4819

函数getchar()

函数putchar()

 

9

P502

circumference =33.30, area =88.25

circumference =   33.30, area =   88.25

原稿无误,排版印刷后因减少了空格导致了错误

10

P514-5后的第一行

在用函数scanf()输入数据时

在用函数scanf()输入数值型数据时

原来的叙述不严密

11

P62

如果试图改变这个顺序

其中的某些步骤的顺序是不能改变的,否则

原来的叙述不严密

12

 

 

为什么160页前的源程序和160页后的源程序中main函数的格式不统一,已在第1607-13行进行了说明。

这是因为前面的章节没有介绍函数返回值的概念,从这里开始介绍函数返回值的概念后统一使用了标准的格式。

 

13

357习题11.4

在习题7.3的基础上

在习题11.3的基础上

 

14

357习题11.4

int (*at)[ROW]

int (*at)[M]

 

15

319页正数第9行和第10行(程序的第78行)注释中

一维数组

数组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]