求教一道指针题!急~

来源:百度知道 编辑:UC知道 时间:2024/05/29 01:10:57
void sum(int *a)
{a[0]=a[1];}

main()
{int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
for(i=2;i>=0;i--) sum(&aa[i]);
printf("%d\n",aa[0]);}

请详细写出解题思路,万分感谢!

函数sum作用是将地址a的元素替换成下一个元素。
main里的循环是对2,1,0循环,所以,依次用a[3]代替a[2]
然后a[2](即原a[3])代替a[1],再用a[1]代替a[0],
最后的结果是
a[0] == a[1] == a[2] == a[3]
所以,a[0]的值即原来的a[3] ,即4。