《程序员实用算法》的一个疑问

ww884203 2012-06-03 01:10:47
在94页有这样的代码,我感觉是不是错了,问一下大家的意见:

//.... 前面的省略
for(i=0 ; i <MaxState ; i++)
if(OutArray[i] != NULL)
for(kscan = OutArray[i];
kscan != NULL;
kscan = kscan->next)
free(kscan);
//.... 后面的省略


我觉得它怎么能先 free(kscan)然后再kscan = kscan->next呢?虽然在有些情况下,尽管释放了内存不过内存里面的内容还没有改变,因此kscan=kscan->next没有出错,但是我觉得还是有出错的可能啊?请教一下大家是书错了还是我考虑漏了什么东西?
另外我感觉这本书的代码都写得比较复杂,哪怕是最开始的很基础的链表也被写得超级复杂,考虑的东西很多,书太严谨了看起来也有点头疼啊。。。
...全文
100 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ww884203 2012-06-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

都没听过名字的书, 这种错误也就不需大惊小怪了.
[/Quote]
其实这本书还是不错的,很多东西讲得很详尽。书里面有一些错误也可以理解,总比国内一些教材随便翻一页都能找到好几个错误要好吧。。。
ww884203 2012-06-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

都没听过名字的书, 这种错误也就不需大惊小怪了.
[/Quote]
确实不太有名,不过也是看到别人推荐才去看的。。。
ww884203 2012-06-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

先看下《算法之道》吧
[/Quote]
额,我要看的书已经太多了,先谢谢你,不过我觉得短期内是没时间看那本书的。
另外,请问这个问题到底是书上错了还是我错了呢?
qq120848369 2012-06-03
  • 打赏
  • 举报
回复
都没听过名字的书, 这种错误也就不需大惊小怪了.
  • 打赏
  • 举报
回复
这段代码我看了下 有问题的,就是为了回收所有的空间。
quwei197874 2012-06-03
  • 打赏
  • 举报
回复
先看下《算法之道》吧

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧