配列内のすべての要素を合計する関数に配列を渡そうとしていますが、行で不正なアクセス エラーが発生しsum+=a[i];
ます。これを修正するにはどうすればよいですか? コードは次のとおりです。
#import <Foundation/Foundation.h>
int sum(int*, int);
int main() {
@autoreleasepool {
int size = 0;
int a[size];
int x;
NSLog(@"Enter a size for the array ");
scanf("%i", &size);
NSLog(@"Enter %i numbers to populate the array ", size);
for (int i = 0; i < size; i++) {
scanf("%i", &a[i]);
}
x = sum(a, size);
NSLog(@"The sum of the array is %i ", x);
}
return 0;
}
int sum(int *a, int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += a[i];
}
return sum;
}