作者tjltd2000 (xiaoni0426)
看板C_and_CPP
标题[问题] pointer和switch结合的小问题
时间Thu Nov 23 22:57:46 2017
开发平台(Platform): (Ex: Win10, Linux, ...)
win7
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
dev c++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
小弟在练习queue时遇到的问题,题目是建立一个queueu有各种不同的功能
主要就是可以输入资料存到queue里面,然後练习queue的各种函式
刚开始打完後一直有问题,debug很久後不小心被我发现,但其实不是很懂为什麽
所以标题也只是猜测而已
以下问题正式开始
原本我的pointer和malloc是打在code里注解那,但无法run
要改到第二个注解备注那才可行
喂入的资料(Input):
预期的正确结果(Expected Output):
印出front,rear,和queue里所有资料
错误结果(Wrong Output):
不论要印front,rear都只会印出最後输入的数字
要印出queue里所有资料会全部都是最後输入的数字
程式码(Code):(请善用置底文网页, 记得排版)
https://ideone.com/O6l0bZ
补充说明(Supplement):
阿我知道我表达有点障碍,希望各位大大别介意
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.163.156.139
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1511449070.A.83A.html
1F:→ galic: 91行!? 11/23 23:39
2F:推 KoenigseggG: 你用可以run的写法,deQ也可以正确跑吗? 11/24 12:04
3F:→ kingofsdtw: case内宣告变数需要{} 11/24 19:05
5F:→ kingofsdtw: 看人的coding sytle,在C++除非construct method 11/24 19:06
6F:→ kingofsdtw: 我不太喜欢宣告在case里面 11/24 19:06
7F:→ galic: 就91行错了吼 谁管data在哪里宣告 11/24 19:16
91行应该是没有问题的 我选function的地方可以正常使用
8F:→ kingofsdtw: QQ~ 抱歉误解回错 11/25 02:45
※ 编辑: tjltd2000 (115.82.134.70), 11/25/2017 10:46:17
9F:→ galic: 相信我 就是91行 改对再来讨论 11/25 10:59
10F:→ caras: 91 行问题大了,超严重 11/25 13:13
11F:→ caras: 算是花式违反置底十三诫之第二诫 11/25 13:19
可是我在读取哪种功能的地方是没有问题的欸
12F:→ Lipraxde: 65应该是"!="? 11/25 15:22
※ 编辑: tjltd2000 (115.82.134.70), 11/26/2017 01:03:34
13F:推 steve1012: gdb 一步一步看自己试过了吗? 11/26 05:15
14F:嘘 Ommm5566: 可是我读取阵列外的记忆体位置也没问题的 11/26 07:27
15F:→ galic: 你贴那网页下面输出直接RE了 你跟我说读取功能没问题... 11/26 11:18
16F:→ Sanvean: 会全部都一样是因为只有要一次记忆体空间,所有的 ptr 指 11/26 16:56
17F:→ Sanvean: 向同一个位址,所以会是最後一个输入的值。 11/26 16:58
18F:→ Sanvean: 不过第 91 行真的是会有记忆体存取的问题就是了XD 11/26 17:02