Я пытаюсь защитить массив -a- функции my_sum_array от изменений. В функциональном блоке я не делаю никаких изменений в -a-, но у меня есть предупреждение (предупреждение: присваивание 'int *' из 'const int *' отбрасывает квалификаторы [-Wincompatible-pointer-types-discards-qualifiers]). Я знаю, что могу удалить const, чтобы программа работала, но я хотел бы понять, если что-то мне не хватает.
#include <stdio.h>
#define MAX 5
int my_sum_array(const int a[], int n);
int main(void) {
int values[5] = {4, 7, 1, 7, 8};
printf("The sum in my_sum_array is :%d\n", my_sum_array(values, MAX));
return 0;
}
int my_sum_array(const int a[], int n) {
int *p, sum = 0;
for (p = a; p < a + n; p++)
sum += *p;
return sum;
}