i和number为什么会变啊
这个地方涉及到操作系统申请内存了。。。
其实是因为你的数组a越界了,按正常情况来看,你的int a[]={0},相当于int a[1]={0},然后的a[1]、a[2]都越界了,然后内存和地址开始往奇奇怪怪的方向去了,你把定义改成int a[3]={0}就会是正常的结果了
定义数组a的代码错误。int a[]={0};表示数组长度为1,对a[1]赋值导致数组越界,正好修改了i变量的值。