鱼C论坛

 找回密码
 立即注册
查看: 924|回复: 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题” 和 手敲一遍之间选择了手敲一遍,^_^
[New Thread 28804.0x15b94]
[New Thread 28804.0x15d30]
[New Thread 28804.0x12ffc]

Thread 1 "main" hit Breakpoint 1, main () at main.c:4
4           int array[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
(gdb) n
5           int (*p)[3] = (int (*)[3])&array;
(gdb) n
6           printf("%d\n", p[2][2]);
(gdb) print p[0]
$1 = {1, 2, 3}
(gdb) print p[1]
$2 = {4, 5, 6}
(gdb) print p[2]
$3 = {7, 8, 9}
(gdb) print *p[0]
$4 = 1
(gdb) print *p[1]
$5 = 4
(gdb) print *p[2]
$6 = 7
(gdb)
阿里旺旺图片20210419145351.jpg
阿里旺旺图片20210419145338.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

Thread 1 "main" hit Breakpoint 1, main () at main.c:4
4           int array[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
(gdb) n
5           int (*p)[3] = (int (*)[3])&array;
(gdb) n
6           printf("%d\n", p[2][2]);
(gdb) print p[0]
$1 = {1, 2, 3}
(gdb) print p[1]
$2 = {4, 5, 6}
(gdb) print p[2]
$3 = {7, 8, 9}
(gdb) print *p[0]
$4 = 1
(gdb) print *p[1]
$5 = 4
(gdb) print *p[2]
$6 = 7
(gdb)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

那就是编译器的问题了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

另外这个是怎么敲出来的,想学
想知道小甲鱼最近在做啥?请访问 -> 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 17:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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