数组越界死循环奇怪问题:

这段极其简单的代码会造成什么样的结果呢。我们来简单分析一下:

1.局部变量定义在栈区,而栈区的内存使用一般是优先使用高地址。

2.i先定义,i的地址比数组高,所以在a[12]越界后,a[12]的地址恰好与i的地址一样,最后一次a[12]改为0,i就也被改成0了。程序就死循环了。

3.由于发生了死循环,即使越界了也不会报错,程序无法停下,无法报越界错误。

4,要按照不同的编译器来考虑越界几个会越界到i,不同编译器情况稍有不同。

5,在release版本中,编译器会主动优化,不会形成死循环,但打印结果是不对的,会打印13个hehe1

*****一下就是一个一个来印证猜想:

第一:光标一直闪动,程序死循环了,并且不会报数据越界对的错误。

第二个:release版本下的优化:会先定义数组,在定义i,这样数据地址会高于i,修改数组值不可能会改变i的值。

优化之后没有死循环,但是打印结果不会,数组只有10个元素,打印了13个。

第三:这样的代码是错误的,越界的,程序发布版本虽然会优化不会报错,但是结果也是不对,那就更麻烦大了。坚决不要写出这样的简单错误。

数组越界奇葩现象:初闻不知曲中意,再闻已是意中人。相关推荐

  1. 初闻不知曲中意,再听已是曲终人!哪首歌让你,而立之年泪流满面

    初闻不知曲中意,再听已是曲终人. 曲中思念今犹在,不见当年梦中人. 人们常说"年少不听李宗盛,听懂已是不惑年",其实有些歌曲初听并无感觉,只是多年之后,在街头巷尾响起前奏,就令人心 ...

  2. 初闻不知曲中意 | 父母给我的爱刚刚好,感谢你们给过的陪伴

    初闻不知曲中意,再听已是曲中人:曲中思念今犹在,不见当年梦中人. 时间是一条无垠的长河, 无论世事如何变迁, 它都奔腾着一往向前, 永不停歇. 我们每个时代, 每一年, 都有很多的歌曲诞生. 今日,就 ...

  3. 周星驰:初听不知曲中意,再听已是曲中人

    01 知乎中曾有这么一个回答吸引到我:很多人说年少时看<大话西游>,看着看着就笑了:长大之后再看,看着看着就哭了:但不管是笑了还是哭了,心中总有很多疑惑无法解开. 一谈起大话西游,大家都是 ...

  4. 刘若英唱《后来》失控大哭:初听不知曲中意,再听已是曲中人

    最近,一组刘若英在演唱会现场演唱<后来>泪流满面的视频图片,引起了无数人的心疼.也许很多人都不知道她为何会泣不成声,但是我想应该有人会懂,因为每个人都会有念念不忘的一首歌,也许藏了一个人, ...

  5. 杭州一行,感悟颇多。初闻不知曲中意,再见已然操千曲。

    经历过了,才知道什么适合自己! 工作的抉择 杭州结缘 未来道路反思 感悟 工作的抉择 10月20日,大四上半学期,实训结束,年初之时从未想过考研,便跟着一起实训.如今结束,在过往的两个月投递过诸多公司 ...

  6. 数据类型、数组越界和宏定义引发的悲剧

    小编在定义一个变量的时候,数据类型往往不会经过特别的考虑:在使用数组的时候,很多时候会忽略数组越界的问题,因为这个问题在C/C++编译器中是不进行检查的,越界不是编译.链接错误,运行时也未必会出错:但 ...

  7. C语言数组越界和内存分布

    事情经过 11月3日晚,今天遇到了一个神奇的现象,一个大小为10的数组可以容纳200个数据,直接震惊我了! 今天发11月2日的参考代码,有一个同学给我看他的代码,大概是这样的 int main(){i ...

  8. Keil调试笔记:数组越界

    概要:一个例子,两个思路,一些思考. 问题现象 struct bmm150_dev {/*! Chip Id */uint8_t chip_id;/*! Device Id */uint8_t dev ...

  9. 数组越界(DAY 30)

    文章目录 1:引例1: 2:数组越界原因: 错误2: 总结: 1:引例1: 推荐文章1 推荐文章2 2:数组越界原因: 可以看到,我们reverse的a+6 超出了定义的数组的长度5 ,就出现了一个相 ...

最新文章

  1. 开源交换需新框架 技术团队也待整合
  2. Boost:是否支持sse4.1指令的测试程序
  3. java文件下载以及中文乱码解决
  4. 51单片机之特殊功能寄存器SFR
  5. java后端分页查询_java后端分页方案
  6. js php c语言for循环,JS for循环语句
  7. Awvs 12.x安装及使用教程超详细(包括录制脚本)
  8. Adams— 系统级多体动力学仿真平台
  9. 计算机组成原理(微课版 谭志虎)试题及答案
  10. 6123测试软件,OTP6123系列手持式OTDR测试仪
  11. win7计算机闪屏,win7电脑闪屏是什么原因
  12. 林达华——我的PhD生活
  13. 微信公众号第三方平台开发概况
  14. win8.1安装office2016
  15. DSN: Deep Subspace Clustering Networks
  16. adb install 安装APK Failure INSTALL_FAILED_ALREADY_EXISTS Attempt to re-install without first
  17. 开源夏令营《基于HackRF开发GPS信号仿真模拟器》开题报告
  18. 2020电工(初级)考试试题及电工(初级)模拟考试题库
  19. 使用变电站巡检机器人的两大优势
  20. 联盟营销者的5个电子邮件营销最佳实践(二)

热门文章

  1. 京东撸货一元购有收的吗好做吗
  2. 无线信道信道衰落知识点总结
  3. HECKTOR2020第三名论文研读
  4. window10获取管理员权限的方法
  5. unity 通过 dll 传递字符串给python,实现小冰颜值鉴定
  6. UVa10391 复合词
  7. ssm项目模板_基于SSM的论坛系统发布可商业、学习、毕设
  8. springboot在线原型工程生成工具
  9. 苹果审核4.3.0Design:Spam
  10. java hh24miss_时间日期转换工具类,获取当前时间YYYYMMDD24HHMISS、YYYYMMDDHHMISS