C语言代码中的bug

我们这有一段代码如下:

int main()
{
	int i = 0;
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	//0~9

	for (i = 0; i <= 12; i++)
	{
		arr[i] = 0;
		printf("hehe\n");
	}

	return 0;
}

运行时发现造成死循环

C语言代码中的bug_第1张图片

C语言代码中的bug_第2张图片

调试过程中发现i和arr[12]中的地址是一样的,所以就会把0赋值给i造成死循环

画图分析

 C语言代码中的bug_第3张图片

 

 

你可能感兴趣的:(c语言)