首页 > 其他 > 详细

一个可能会无限循环的bug.c

时间:2018-06-24 13:43:30      阅读:167      评论:0      收藏:0      [点我收藏+]
 1 /* bug.c */
 2 #include<stdio.h>
 3 int main(void){
 4     int a[10],i;
 5     for(i=1;i<=10;i++){
 6         a[i]=0;
 7         // printf("%d\n",a[i]);
 8         // printf("i=%d\n",i);
 9     }
10     return 0;
11 }

原因如下:

技术分享图片
/*
数组下标越界,如果 i 的内存地址正好在数组后面,那么当a[10]=0时,会将i自动清零,于是 i <= 10,开启死循环模式。
*/
点击展开原因

一个可能会无限循环的bug.c

原文:https://www.cnblogs.com/stefango/p/9220313.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!