int main() {
int a(7), b(10), c = 100;
int z[9] = { 21,22,23,24,25,26,27,28,29 };
int* pa, * pb, * pc;
pa = &a, pb = &b, pc = &c;
int x = func(c, &b, a, z);
for (int i = 0; i < 9; i++)
cout << "z[" << i << "] = " << z[i] << endl;
printf("a = %d, b = %d, c = %d, ", a, b, c);
printf("*pa = %d, *pb = %d, *pc = %d, ", *pa, *pb, *pc);
x = func(*pa, pb, *pc, &z[1]);
return 0;
}
функция func
int func(int& a, int *b, int c, int *r) {
c += a + *b;
*b = ++a;
a = r[4] + *b;
r[2] = c++;
*(r + 4) = 450 - (--c);
*r-- = 20;
*r-- += 41; <--- вот здесь не меняется значение (строчка 16)
return c;
}


Всем привет, объясните ,пожалуйста, почему на строчке 16 в функции func (1-ый скриншот) значение массива не изменяется.
Разве не должно быть значение 1-го элемента массива 61? то есть
z[0] = 61