为什么(float)2/1会等于0.25啊
(float)2/1=2.0
首先,这个问题通过打断点,单步调试查看数组a的值就可以发现问题。不过看你的截图好像会用断点,那就不细说了。原因是对于q的越界访问,压到数组a了,改变了a[0]的值q只有4个元素,但是
for(i=4;i>=1;i--) { q[i] = a[i]/(float)a[i-1]; }
这里给q[4]赋值,导致越界最后,下次提问尽量把代码粘贴出来,不要发截图。