主题:下面两道题理解很费劲
程序主体部分如下
void sum(int a[])
{a[0]=a[1]+a[-1];}
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
sum(&a[2]);
printf("%d\n",a[2]);
}
得出的结果是6;
想问一下调用函数中的实参传入形式参数中后在声明函数中的是怎么运算的,望请详细解答。
另一题
函数主体部分如下;
void sum(int *a)
{a[0]=a[1];}
main()
{
int aaa【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]);
}
最后的结果是4;
想问一下,传入的实参&aa[i]进入被调函数中后这个i值和被调函数语句中的赋值语句有关联吗,函数究竟如何执行的?[
void sum(int a[])
{a[0]=a[1]+a[-1];}
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
sum(&a[2]);
printf("%d\n",a[2]);
}
得出的结果是6;
想问一下调用函数中的实参传入形式参数中后在声明函数中的是怎么运算的,望请详细解答。
另一题
函数主体部分如下;
void sum(int *a)
{a[0]=a[1];}
main()
{
int aaa【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]);
}
最后的结果是4;
想问一下,传入的实参&aa[i]进入被调函数中后这个i值和被调函数语句中的赋值语句有关联吗,函数究竟如何执行的?[