看了看别的dalao的,函数内改成*(a+i)也可以哦 #include<stdio.h> int cal(int *a,int n) { int sum=0; for(int i=0;i<n;i++) { sum+=*a; a++; } return sum; } int main() { int n; scanf("%d",&n); int arr[n+1]; int *a =arr; for(int i=0;i<=n;i++) { scanf("%d",&arr[i]); } printf("%d", cal(a,n)); return 0; }