C Primer Plus 第6版 中文版 勘误表

页码:11 行数:倒数第3行 印次:14

假设我们在vi编译器...

应该是编辑器。

 

页码:25 行数:10 印次:14

命名部分第10行,“名称的第一个字符必须是字符或下划线”,应改为“必须是字母或下划线”

 

页码:30 行数:24 印次:14

双引号号 重复了一个 号 字

 

页码:34 行数:2.7.3第3段第1行 印次:14

以监视制定变量值的-以监视指定变量值的

 

页码:66 行数:18 印次:14

“显示说明”应改为“显式说明”

 

页码:75 行数:倒数第7 印次:14

是类型还是特定量?

应该用句号。

因为这句话"何时使用圆括号取决于运算对象是类型还是特定量"是陈述句,不是疑问句。

 

页码:84 行数:表4.5最后一行 印次:14

表4.5中0的含义的示例

    “%0.83f”应为”%08.3f”吧?

页码:105 行数:5 印次:14

...右花括号()),这里应该是(})吧

 

页码:105 印次:14

此时,因为19.0小于P10518.5

应改为

此时,因为19.0不小于18.5

 

页码:107 行数:5.2.2加法运算符  印次:14

该小节最后一句,“但是,表达式salary+brives是一个右值”,而上一句“income、salary和bribes都是可修改的左值”

最后一句brives应该为bribes。


页码:117 行数:17印次:14

“b_pre”应该是“pre_b”

 

页码:119 行数:7 印次:14

不作用与y+n。

“与”应改为“于”

 

页码:134 行数:15 印次:14
5.11编程第4题
并分别以厘米,厘米应该改成英尺


第五章编程练习第4题

182.0 cm = 5 feet, 11.7 inches

168.0 cm = 5 feet, 6.4 inches

应改为

182.0 cm = 6 feet, 71.7 inches

168.7 cm = 5.5 feet, 66.4 inches


页码:156 行数:10 印次:14

6.7逗号运算符   下面一段第二行,邮资首重40美分/蛊司,

而程序中显示的是46美分/蛊司。

本书英文版出版应该是在2011后了,

网上查询2011年的时候每蛊司邮资超过40美分了,

所以改为46美分/蛊司比较妥当

 

页码:156 13行 印次:14

156页倒数第3段第2排末尾:cost递增20(NEXT _OZ的值是20)。即缺了一个O。


页码:209 行数:41 印次:14
倒数第8行
最后的循环例子while(funct>0)中,第三行,for(i=1,i<=100; i++),
 应该为for(i=1; i<=100; i++)


页码:223 行数:4  印次:14
unix/linux 环境,运行程序的指令是 ./可执行文件名
行4 、9、19、28、35的  echo_eof  改为    ./echo_eof


223页,第2行  印次:14

并把可执行版本放入一个名为echo_eof(或者在Windows 系统中名为echo_eof.exe)的文件中,
这句话是对英文版的直译了,意思很是别扭,
是不是改成下面的更贴切一点:
生成了一个名叫echo_eof(或者在Windows 系统中名为echo_eof.exe)的可执行文件.


页码:224 行数:5 - 30 印次:14
unix/linux 环境,运行程序的指令是 ./可执行文件名
且. / [可执行文件名] 三者间没有空格。
此页中没加 . 和 / 的指令都是无效指令。
行5 --        echo_eof < mywords    应改为    ./echo_eof < mywords

页码:227 行数:23 印次:14
这的确是解决了换行符的问题。但是,该程序还是把fp视为n。
p是多出来的

页码:241 行数:17 印次:14
原文:
对于给定的输出(ch 是 int 类型,而且是缓冲输入),下面各程序段的输出分别是什么?
给定的输出,应该为给定的输入。


页码:270 行数:28 印次:14
小结:与指针的运算符
地址运算符:*  

应该是:

间接运算符:* 

页码:291   26 行 印次:14
注意 声明数组形参标题上面倒数第二行,提醒读者指针ar指向的不仅仅是一个int类型值,即,少了一个“是”。

页码:297 行数:5 印次:14
图10.4下方第三行:因为ptr3指向的是&arn[4]。应该是&urn[4]


页码:297 行数:8 印次:14
递减指针:那一行,原文是递减ptr3,但根据295页代码,应该是ptr2。

页码:382 行数:6 印次:14

“但是stay只在编译strstat()时被初始化一次”,strstat应改为trystat

页码:403 行数:13 印次:14

1. 在指针和形参声明中使用const  下的第4行 创建了pf指向的值不能被改变,而pt(应该是pf)本身的值可以改变。
而且创建了pf指向的值不能被改变,这话读着别扭,建议去掉创建了三个字,改成pf指向的值不能被改变

2.倒数第一行 但是未更改第1 (应该是2)个字符串。

 

页码:434 行数:7 印次:14

程序的第 2 部分用于打开待读取的文件,提示用户输入一个值的索引。

[一个值的索引] 应改为 [一个值在数组中的的索引],这样意思就比较完备了

 

页码:450 行数:15 印次:14

倒数第3行,
和数组不同的是,结构变量名并不是结构的地址,因此要在结构变量名前面加上&运算符。 

[结构的地址] 应改为 [结构变量的地址]

结构只是告诉编译器以何种布局表示数据,结构变量才被分配空间,具有地址。

 

页码:518 行数:第一题 印次:14
二进制"01001001" 值为73,不应该返回25

页码:574 行数:5 印次:1

while (current != NULL) {
     free(current);
    head = current->next;
 
}

以上释放一次current,就跳出循环了。

应改为

while (current != NULL) {
    head = current->next;
    free(current);
    current = head;
}


页码:634 行数:18. 印次:14

参考答案第9题出现错误

b是5,b应该是y.

 

页码:635 行数:24 印次:14

常量0x44的转换说明写成%x,应将是%#x

 

页码:640 行数:17 印次:14

第8题 把1-10打印在一行,每个数字占5列宽度
答案 123的1前边应有4个空格.


页码:641 行数:25 印次:14

第9行:逗号改为分号,>=改为 <=, j=1,改为j=0,如果j起始值不是0的话,上面一句list[i] = 2*i + 3(第一轮循环时,i等于0)执行后list[0]的值不会被打印出来了,这应该是违反了程序的本意吧。

页码:641 行数:25 印次:14
给出的代码基本还是错误的
正确的应该是(27-31行):
    int i,j,list[10];  
    for ( i=0;  i<10; i++)
    {
        list[i] = 2*i + 3;
        for ( j =0; j < i; j++ )


页码:645 行数:2 印次:14

在uc++ 前面,应该改为 在oc++前面

页码:647 行数:41  印次:14

倒数第2行,

把count++改成num++,应该是 num++改成count++。

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值