再求一段代码的细致解释

发布于 2022-07-24 21:38:20 字数 510 浏览 11 评论 3

这是flw2网友曾经贴的例子(引用一下不知道是否可以:))
int main()
{
        int i[1];
        i[-1]=12;
        exit(0); //删除这个看看结果
}

曾经有网友dennie对该代码进行了解释,可惜后来不小心被删了(心痛阿!!!)
原贴在http://bbs.chinaunix.net/viewthr ... &highlight=exit

十分希望有高人能再指点一下,万分谢谢
!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

月寒剑心 2022-07-26 08:42:45

原帖由 semomo 于 2006-8-18 21:55 发表
原来的解释似乎是从栈的角度去解释的
dennie的解释好像在原贴中只剩一点了。。。

>>
>>
>>这个和栈有什么直接联系吗?a[0]是数组的入口地址,a[-1]是该入口地址的前4byte地址
>>因为int占用4byte(32位机器),所以每个int数组元素地址之间间隔4bytes。上面这个
>>程序和exit函数有什么关系吗?请教一下。
>>
>>

放赐 2022-07-26 08:25:43

原来的解释似乎是从栈的角度去解释的
dennie的解释好像在原贴中只剩一点了。。。

想你只要分分秒秒 2022-07-25 12:54:00

原帖由 semomo 于 2006-8-17 21:41 发表
这是flw2网友曾经贴的例子(引用一下不知道是否可以:))
int main()
{
        int i[1];
        i[-1]=12;
        exit(0); //删除这个看看结果
}

曾经有网友dennie对该代码进行了解释,可惜后来不 ...

可能是偶水平有限,实在看不出来这段代码有什么特别之处……

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文