关于内存溢出产生的死循环
2015-12-01 22:41
148 查看
#include <stdio.h> #include <stdlib.h> int main() { int i, arr[10]; for (i = 0; i <= 12; i++) { printf("haha!\n"); arr[i] = 0; } system("pause"); return 0; } //由于先定义了 i ,所以 i 在高地址,而在循环中arr[12]的地址和 i 的地址重叠,所以 i=arr[12]=0,所以循环又 i=0开始,陷入死循环! 我们在平时编程不注意会产生一些数组内存越界问题,这时候编译程序通过,不报错,但是就是得不到想要的结果,这时候我们就要检查一下是否内存越界!
相关文章推荐
- 100-200之间的素数输出
- Thread中的实例方法
- 2-First scrum meeting-20151201
- hdu 5583 Kingdom of Black and White(模拟,技巧)
- 505教室(浮动的练习)
- 如何破解UltraEdit
- 进程与线程概述
- PMCAFF微课堂「已结束」| 测试兄弟CEO揭秘如何提高创初团队的产品质量
- 尝鲜mysql5.7.9结果root密码忘记了
- 读写bmp图片
- 数据结构之创建二叉树
- ryu的RESTAPI简介——我主要用于下发和查看流表
- YYKit的博客
- word Search
- timeSeries db之:使用Metrics监控应用程序的性能 (zz)
- 浏览器兼容的那些事(笔记)
- Android面试经验1
- 二叉搜索树(排序二叉树)
- 学习hamcrest和mockito时的总结和demo
- 正则表达式元字符