#include "stdio.h"
#define LEN 5
int sum(int ar[], int n);
int a[LEN] = {1,2,3,4,5};
int t = 0;
int sum(int ar[], int n)
{
int i;
int total = 0;
for(i=0;i<n;i++)
{
total += ar[i]++; //(*(ar+i))++ = *(ar+i)+1;
}
return total;
}
void main(void)
{
int i = 0;
t = sum(a, LEN);
for(i=0;i<LEN;i++)
{
printf("data[%d] = %d\n",i,a[i]); //问题:a[i] 打印出的数据是?
}
printf("t: %d\n", t);
}
结果:
data[0] = 2
data[1] = 3
data[2] = 4
data[3] = 5
data[4] = 6
t: 15
Press any key to continue
原因:形参是指针的函数,函数内部可以修改指针指向的数组值。