鱼C论坛

 找回密码
 立即注册
查看: 1084|回复: 4

[已解决]S1E24测试题第5题

[复制链接]
发表于 2021-4-19 14:55:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
S1E24测试题第5题的答案解释不是很合适,按照3*3的情况的话, *p[0] = 1 *p[1]=4  *p[2]= 7,实际用VS code测试发现结果是 *p[0] = 1 *p[1]=2  *p[2]= 3,因此结果为9更偏向于是地址递增的原因,新人求助
最佳答案
2021-4-19 15:13:41
是vscode的问题,这是gdb的输出
另外,提问题最好再把源代码也复制上来
我在选择是去找 “S1E24测试题第5题” 和 手敲一遍之间选择了手敲一遍,^_^

  1. [New Thread 28804.0x15b94]
  2. [New Thread 28804.0x15d30]
  3. [New Thread 28804.0x12ffc]

  4. Thread 1 "main" hit Breakpoint 1, main () at main.c:4
  5. 4           int array[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
  6. (gdb) n
  7. 5           int (*p)[3] = (int (*)[3])&array;
  8. (gdb) n
  9. 6           printf("%d\n", p[2][2]);
  10. (gdb) print p[0]
  11. $1 = {1, 2, 3}
  12. (gdb) print p[1]
  13. $2 = {4, 5, 6}
  14. (gdb) print p[2]
  15. $3 = {7, 8, 9}
  16. (gdb) print *p[0]
  17. $4 = 1
  18. (gdb) print *p[1]
  19. $5 = 4
  20. (gdb) print *p[2]
  21. $6 = 7
  22. (gdb)
复制代码
阿里旺旺图片20210419145351.jpg
阿里旺旺图片20210419145338.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-4-19 15:13:41 | 显示全部楼层    本楼为最佳答案   
是vscode的问题,这是gdb的输出
另外,提问题最好再把源代码也复制上来
我在选择是去找 “S1E24测试题第5题” 和 手敲一遍之间选择了手敲一遍,^_^

  1. [New Thread 28804.0x15b94]
  2. [New Thread 28804.0x15d30]
  3. [New Thread 28804.0x12ffc]

  4. Thread 1 "main" hit Breakpoint 1, main () at main.c:4
  5. 4           int array[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
  6. (gdb) n
  7. 5           int (*p)[3] = (int (*)[3])&array;
  8. (gdb) n
  9. 6           printf("%d\n", p[2][2]);
  10. (gdb) print p[0]
  11. $1 = {1, 2, 3}
  12. (gdb) print p[1]
  13. $2 = {4, 5, 6}
  14. (gdb) print p[2]
  15. $3 = {7, 8, 9}
  16. (gdb) print *p[0]
  17. $4 = 1
  18. (gdb) print *p[1]
  19. $5 = 4
  20. (gdb) print *p[2]
  21. $6 = 7
  22. (gdb)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-19 15:48:02 | 显示全部楼层
人造人 发表于 2021-4-19 15:13
是vscode的问题,这是gdb的输出
另外,提问题最好再把源代码也复制上来
我在选择是去找 “S1E24测试题第5 ...

那就是编译器的问题了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-19 15:53:41 | 显示全部楼层
人造人 发表于 2021-4-19 15:13
是vscode的问题,这是gdb的输出
另外,提问题最好再把源代码也复制上来
我在选择是去找 “S1E24测试题第5 ...

另外这个是怎么敲出来的,想学
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-19 17:26:40 | 显示全部楼层
蒋思念 发表于 2021-4-19 15:48
那就是编译器的问题了

对,是vscode的问题
这个是在命令行界面,就是cmd窗口
用的是gdb调试器
在cmd窗口中输入 gdb 可执行文件的名字
例如 gdb main
可以看看这个
https://blog.csdn.net/niyaozuozuihao/article/details/91802994
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-30 03:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表