#include void sum(int *a) {a[0]=a[1];} void main() {int aa[5

问题描述:

#include void sum(int *a) {a[0]=a[1];} void main() {int aa[5]={1,2,3,4,5},i; for(i=2;i>=0;
这个程序是怎么回事啊?
接着上边的
for(I=2;I>=0;i--)
sum(&aa[i]);
printf("%d\n",aa[0]);
}
1个回答 分类:综合 2014-10-17

问题解答:

我来补答
第一次运行i=2,sum[&aa[2]]就把aa[2]当做首地址传给函数sum,然后sum函数中的a[0],a[1]分别代表了aa[2],aa[3],所以第一次完毕以后aa[2]=aa[3]=4;然而aa[0]并没有改变
然后第二次运行i=1;同样将4传给了aa[1]=4;
然后第三次i=0,将aa[0]赋值为4.所以结果应该是4
 
 
展开全文阅读
剩余:2000