C语言用指针求逆序输出?

img

img


源程序中函数需要从最后一项输出,是不是指针的初始化错误,导致执行的时候与正确答案不符?改怎么修改指针的初始化?

int i,* p = b;就好了
然后for(i=n-1;i>=0;i++)
printf("%d ",*(p+i));

p是个指针,p[i]等价于*(p+i)
你要用p[i]那么p就应该指向&b而不是&b[n-1]
既然p已经指向了最后一项,那i直接从0开始到-n结束就行了