Odczytywanie wartości , funkcje , wyznaczniki

0
W wyróżnionych polach podaj tekst, który zostanie wypisany przy wykonaniu odpowiednich linii programu.

#include <cstdio>
void f1 (int x) { printf ("F1: %d\n", x++); }
void f2 (int y) { printf ("F2: %d\n", y--); }
void f3 (int&z) { printf ("F3: %d\n", z++); }
void (*f[])(int) = {f1,f2};

int main() {
      int a = 7, b = a, *c = &b, *&d = c;

a)      f1(*c++);
b)      f3(a);        
c)      f2(b); 
d)      f3(*d); 
e)      f[1](2);
f)      f+(1); 
g)     (*f)(1);
}

Niestety , ale umiem zrobić tylko a,c i to nie jestem pewien. Mógłby ktoś opisać jak dojść do pozostałych ( i mowie o innej drodze niż wpisanie tego w kompilator xD ) i sprawdzić czy moje rozumowanie a,c jest poprawne ?

a) wskaźnik c pokazuje na obiekty typu int, do którego przypisano adres b, więc pokazuję na b , jako że b = 7 , to
pod adresem b znajduje się 7 , więc *c++ = 7
F1(7) , wydrukuje F1 : 7
b)F3(7) i nie mam pojęcia jak to dalej zinterpetować
c) f2(7) , po prostu wydrukuje wartość y , w tym wypadku F2 : 7
d)
e)
f)
g)

0

A ja jednak zaproponuję ci użycie kompilatora... i debuggera. Korzystanie z debuggera to ważna rzecz i warto przy okazji się tego nauczyć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1