为了准备找工作,买了本《程序员面试宝典》看看,结果发现这本书里面错漏的地方实在是太多了。记录一下,希望对后来的人有所帮助。
1.184页,“面试官会节和程序对你的思维能力进行考量。”中“节”字写错,应改为“结”。
2.185页,面试例题2:编程实现单链表删除节点。但是给的示意图却是插入节点的过程。在面试例题3中,该图又重复了一遍。
3.189页,面试题7,给的代码是解决例题6的代码。
4.192页,循环链表面试题答案代码倒数第12行
for(int s=m-1;s--;r=p,p=p->link); 应将s=m-1改为s=m-k,即:
for(int s=m-1;s--;r=p,p=p->link); 5.237页,面试例题1第6行代码
intnum=12345,j=0,i=0; 少了一个空格应改为:
int num=12345,j=0,i=0; 6.238页,第10行代码
printf("interger = %d string = %c\n",num,string[1]); 不知道这里输出string[1]有什么意义,改成下面这样比较好,输出整个字符串。
printf("interger = %d string = %s\n",num,string); 7.239页,例题2解析中有一句
“...原来是1234\0123456789\0,strcpy后变成了123456789\06789\0,...” 多了4和6,应该改为:
“...原来是123\0123456789\0,strcpy后变成了123456789\0789\0,...”。 8.241页,第4行代码
if((array(int *)malloc(10*sizeof(int)))==NULL); 少了一个“=”,应改为:
if((array=(int *)malloc(10*sizeof(int)))==NULL); 在解析当中,同样缺少一个“=”。
9.241页,代码片有3点错误,1)malloc()函数前面缺少类型。2)free(p2)应该改为free(p1)。3)free之后,指针没有置NULL。
int *p1,*p2;
p1=malloc(10*sizeof(int));
p2=p1;
...
free(p2) /*或者free(p2)*/ 应改为:
int *p1,*p2;
p1=(int*)malloc(10*sizeof(int));
p2=p1;
...
free(p1) /*或者free(p2)*/
p1=p2=NULL; 10.242页,面试例题3解析当中,第三行Strcpy首字母不能大写,应该改为strcpy。
(未完待续)

京公网安备 11010502036488号