IT常识
技术 Python PHP JavaScript IOS Android Java 数据库 资源 公众号 代码片段 github
  • IT常识
  • 技术

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

Posted 2020-11-20

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个可能会无限循环的bug.c相关的知识,希望对你有一定的参考价值。

 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
",a[i]);
 8         // printf("i=%d
",i);
 9     }
10     return 0;
11 }

原因如下:

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

以上是关于一个可能会无限循环的bug.c的主要内容,如果未能解决你的问题,请参考以下文章

无限循环 - 延迟 - 单独的线程

Knight's Tour 代码陷入无限循环,无法解决

React app,componentDidUpdate - 跳转列表,无限循环

微服务假装无限循环的调用?

Python:如何杀死无限循环?

无限循环的线程是不是会导致 CPU 过多

(c)2006-2024 SYSTEM All Rights Reserved IT常识