回复 15楼 林月儿
......我知道你的意思,有效长度和实际数组分配内存长度的问题我懂。可是我不太解的是length这个变量的声明顺序位置为什么会影响到运行结果。我试了好几个length的声明位置。像intlength=7 ,i,a[N]={586,513,489,284,106,46,24};或者int i,length,a[N]={586,513,489,284,106,46,24}; length=7;或者你那样的i,a[N]={586,513,489,284,106,46,24},intlength=7 ;都可以运行得到正确结果。然而int i,length=7,a[N]={586,513,489,284,106,46,24}; 这种顺序位置的声明却得到错误的结果,其他代码一概没动过...所以我好奇为什么会有这种原因,还是就我的编辑器有问题,不然你试试看看。