#include<stdio.h>
int main(void){
const int size=5;
int grades[size]={34,23,67,89,68};
double sum=0.0;
double *ptr_to_sum=∑
int i;
printf("\n my grades are:\n");
for(i=0;i<size;i++){
printf("%d\t",grades[i]);}
printf("\n\n");
for(i=0;i<size;i++){
sum+=grades[i];
}
printf("my average grade is %.2f\n\n",sum/size);
printf("\n\n");
printf("sum is at %p, or %luandis%lf\n",ptr_to_sum,ptr_to_sum,*ptr_to_sum);
printf("grades are at %lu to %lu\n",grades,grades+5);
}
Even though being a simple code , I am unable to figure out the error ,the code is correct but I just don't know why this error is coming. Please can anyone help me in this? What I can just pretend after much thinking is that it is occurring due to the datatype long that is being used for the sum.
ERROR:pointers.c: In function 'main':
pointers.c:7:5: error: variable-sized object may not be initialized
7 | int grades[size]={34,23,67,89,68};
| ^~~
pointers.c:7:23: warning: excess elements in array initializer
7 | int grades[size]={34,23,67,89,68};
| ^~
pointers.c:7:23: note: (near initialization for 'grades')
pointers.c:7:26: warning: excess elements in array initializer
7 | int grades[size]={34,23,67,89,68};
| ^~
pointers.c:7:26: note: (near initialization for 'grades')
pointers.c:7:29: warning: excess elements in array initializer
7 | int grades[size]={34,23,67,89,68};
| ^~
pointers.c:7:29: note: (near initialization for 'grades')
pointers.c:7:32: warning: excess elements in array initializer
7 | int grades[size]={34,23,67,89,68};
| ^~
pointers.c:7:32: note: (near initialization for 'grades')
pointers.c:7:35: warning: excess elements in array initializer
7 | int grades[size]={34,23,67,89,68};
| ^~
pointers.c:7:35: note: (near initialization for 'grades')