C_and_CPP 板


LINE

开发平台(Platform): (Ex: Win10, Linux, ...) Dev cpp 编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出) TDM-GCC 额外使用到的函数库(Library Used): (Ex: OpenGL, ...) 问题(Question): // ---------------------抓到一个问题--------------------- 1. http://codepad.org/AIL3PuH3 这样正确输出 2. http://codepad.org/5Q0nw7x6 这样会当 Why? 下面还有补充一个 // ---------------------抓到一个问题--------------------- Token * tk = new Token ; 这一行我下方有特地加cout << "123" << endl;之类的 发现是这行会当掉 Why? 没几个token为什麽会当? 喂入的资料(Input): hello world goodbye world 预期的正确结果(Expected Output): hello world goodbye world 错误结果(Wrong Output): hello world 正常输出 接着第二轮输入: 当掉 用CodeBlock正常输出几个後 有跳出疑似记忆体不足的错误 用Dev cpp则是在正常输出没几个後就当机 例如 ha ha 当掉 程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档) http://codepad.org/TJMohrCQ // ------------------------------------------------------- 抓到一个问题了 里面的gFront(也就是Linked List的头) 居然会被改动? 我不是打了if ( gFront == NULL )才动gFront吗 怎麽会这样? // ------------------------------------------------------- 补充说明(Supplement): --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.137.112.191
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1523893504.A.D32.html
1F:→ djshen: 13行确定会跳出? 04/16 23:49
抱歉程式码没给得很详细 但我这边的会跳出 主要是要问 为什麽NEW一个物件会当 而且才NEW没几个 ※ 编辑: HateAnus (220.137.112.191), 04/16/2018 23:53:40
2F:→ crazycy: delete? 04/16 23:54
3F:→ crazycy: 喔 没事 当我没说 04/16 23:55
4F:→ djshen: code不详细错误讯息也不详细不如掷筊 04/16 23:58
5F:→ djshen: 你可以用debugger 04/16 23:59
6F:推 flyfoxy: sInput[i+1]越界,当下没当,而是当在後面奇怪的地方 04/17 00:00
7F:推 asilzheng: 与一楼有相同的疑问,觉得13行没跳出造成Str1违规存取 04/17 00:33
8F:→ shadow0326: 就是sInput[i+1]的锅吧 04/17 00:46
刚刚改成 if ( i > 0 ) if ( sInput[i] == '/' && sInput[i-1] == '/' ) 还是会当掉说 注解掉也是当掉QQ ※ 编辑: HateAnus (220.137.112.191), 04/17/2018 01:16:03
9F:推 asilzheng: Str100的型别是什麽?我猜是char[100],而且Str1没给 04/17 01:54
10F:→ asilzheng: 结束字元,造成strcpy复制过多而出错 04/17 01:54
11F:推 ilikekotomi: 全部code传github比较有帮助 这样才知道Str100做什麽 04/17 01:57
12F:推 asilzheng: 这段程式有多处会造成违规存取,没修好死在奇怪的地方 04/17 01:57
13F:→ asilzheng: 都不意外 04/17 01:57
14F:→ asilzheng: 猜测13行的检查在没有空白的时候,会越过结束字元,回 04/17 02:24
15F:→ asilzheng: 圈停不下来且造成记忆体破坏,刚好结束回圈後是new,才 04/17 02:24
16F:→ asilzheng: 误以为是new出问题 04/17 02:24
17F:→ joe820730: 这没把完整程式码上传跟掷筊差不多... 04/17 09:22
18F:→ hunandy14: 实际上被你隐藏起来的地方是有关连的 04/17 14:36
19F:→ hunandy14: 如果真的要隐藏,可以开一个单档最小化重现bug 04/17 14:38
20F:→ hunandy14: 把你觉得重要的地方砍一砍保留会错误的部分砍到最简 04/17 14:38
21F:推 Neisseria: 这时候就要拿 http://sscce.org/ 出来 04/17 16:33
不好意思 我更新了完整程式码 再麻烦各位看一下 这次一样当在New Token 好像固定当在第四个token
22F:→ rbufghj9713: struct的你有做typedef吗?不知道没做会不会有问题 04/18 01:02
我试试看 .. 好像不影响
23F:→ djshen: strcpy要copy到哪去? 04/18 01:08
先用temp存getline里的各个字 例如 hello world 就存 hello 和world 接着把temp copy到token的tokenstr里面
24F:→ djshen: 我知道你想干嘛 但你知道你要copy去哪? 04/18 01:20
就放到Token中 然後token做成Linked List这样 ... 是我把strcpy弄错了吗
25F:→ djshen: 所以你发现Str100和CharPtr不一样了 04/18 10:24
不好意思 我真的不知道你在说什麽 Char array和Char Pointer在这个Case应该是不影响当不当机吧 ※ 编辑: HateAnus (114.37.84.98), 04/18/2018 12:49:32
26F:→ loveflames: 就是因为这个才当机 04/18 13:29
27F:→ djshen: 你觉得char*会指到哪里 04/18 13:38
28F:→ hunandy14: 64行补 tk->tokenStr = new char[strlen(temp)]; 04/18 17:08
29F:→ hunandy14: 更正 还要+1, 这样应该可以理解了吧QuQ 自己找地方del 04/18 17:11
30F:→ hunandy14: 行数我有砍到 是78 04/18 17:16
31F:推 ilikekotomi: 因为CharPtr没有分配空间 所以才会当机 04/18 21:20
32F:→ joe820730: char array在编译期就配好记忆体,当然不会出错 04/19 21:33
33F:→ joe820730: 而char pointer如果你没有new或malloc一个空间给它, 04/19 21:35
34F:→ joe820730: 你根本不知道它会指到哪,当机也就理所当然了 04/19 21:36
35F:推 dzwei: 楼上正解, 04/21 03:31







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP