Cześć, dlaczego w poniższym zadaniu program wypisuje kolejno wartości 4, 5 natomiast wg moich obliczeń wychodzi odwrotnie tj. 5, 4?
#include <stdio.h>
#include <stdlib.h>
void f(float *x, float *y) {
*y=--*x; x=y; ++*x;
}
int main(void) {
float *tab,*x;
tab =(float *) malloc (2*sizeof(float));
tab[0]=5;
x=&*(tab+1);
f(tab,x);
printf ("%.1f %.2f",tab[0],tab[1]);
return 0;
}
Co dzieje się w funkcji f? Chodzi mi konkretnie o 3 jej instrukcje, gdyż niestety mam problem z ich interpretacją.