为什么这个程序的输出值是88
# include<stdio.h>void g(int*pArr, int len)
{
pArr=88;
}
void f(void)
{int a={1,2,3,4,5};
g(a,5);
printf("%d\n",a);
}
int main(void)
{
f();
return 0;
}
函数运行的顺序是什么 本帖最后由 ba21 于 2017-6-30 23:21 编辑
内存大楼里,先居住g这个门牌号,再居住f这个门牌号,。,最后主程序main调用f门牌号内存的东西,
而f门牌号的东西又调用g门牌号的内存东西 就像一楼一样,已经很详细,f()函数里已调用了g()函数,通过指针已把数组中a的值改为了88,当然打印出来的就是88!
页:
[1]