作者splasky (splasky)
看板C_and_CPP
标题[问题] 用stack做出递回效果
时间Sat Jul 23 01:13:11 2016
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
ubuntu 16.04
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
用一个stack想做出类似递回的效果,不过想要将node pop出来时,
第58行的free会产生错误,而且从第一个node以後的value的资料都不太正确
还请各位不吝指教
谢谢
喂入的资料(Input):
任意资料夹位置
预期的正确结果(Expected Output):
会印出该目录下的所有资料夹和档案
错误结果(Wrong Output):
SIGABRT,其实我不太懂这是什麽意思?
程式码(Code):(请善用置底文网页, 记得排版)
http://codepad.org/7RuetES5
补充说明(Supplement):
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.170.44.160
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1469207594.A.8EF.html
1F:→ wtchen: Line 26: sizeof(stack) 大小写有无搞错? 07/23 02:30
2F:→ wtchen: 我把这边的stack改成Stack就OK了 07/23 02:44
3F:→ wtchen: stack是你pointer的大小,这边Stack才是你要的 07/23 02:44
还是无法 不过stack 确实是打错了没错 Stack才对
※ 编辑: splasky (1.170.44.160), 07/23/2016 02:57:41
4F:→ wtchen: 我在我的ubuntu上改完就能跑了阿 07/23 04:13
5F:→ wtchen: 只是你的程式有记忆体没完全释放的问题... 07/23 04:13
6F:→ wtchen: get_directory那边strncpy怪怪的 07/23 04:28
7F:→ wtchen: concat_string那边calloc是0? 07/23 04:28
阿 发现问题了 要把calloc改成1 谢谢大大的提点!
原本还在纳闷为什麽我要把该node释放掉都会有core dump XD"
※ 编辑: splasky (111.71.221.36), 07/23/2016 08:41:16