#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]);}
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/03 06:50:55
xՒJ#A_QF)vq3^LF(6F-H̥xɈA"IFP;/Sg5jw9?WόSzBsrkʤW6l4lԊQw٢vb²"i2CT2[$TSW
1j51Ztļ.?qe89e~
9^UAp-(R:5(B/blSn# kEs!rBș7Id8:,3D> ]9aEwʬPM?y*[ǿ.4#y>
H}:#0"\5KB1c^qذ~
nc3ߣWߴy{Eb
Ҡ{Ԉ:"HRЫI'3bNiWQj37<x
#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]);}
#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]);
}
#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]);}
第一次运行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