#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <Windows.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <math.h>
//F5:启动调试,直接跳到下一断点处
//F9:创建或取消断点
//F10:处理一条语句或函数
//F11:进入函数内部,或处理一条语句(大部分时候与F10相同)
//Ctrl + F5:直接运行,不调试
//int main()
//{
//
// int a = 0;
//
// return 0;
//
//}
//调用堆栈反映了函数的调用逻辑
//右键点击断点可设置条件断点
//若希望断点让循环停下来,断点要打在循环内部
//出现死循环不报错,因为停下来才能报错
//int main()
//{
//
// int i = 0;
//
// int arr[3] = { 1 };
//
// for (i = 0; i < 1000; i++)
// {
//
// arr[i] = 0;
//
// printf("z");//在不考虑栈溢出的情况下死循环
// //因为栈区先使用高地址空间,后使用低地址空间
// //导致了i的地址高于arr[0]的地址,就导致了 &i == &arr[x](x > 2)
// //arr[x] -> *(arr + x),改变了地址中的数
// //于是i = arr[x] = 0,进入死循环
//
// }
//
// return 0;
//
//}