Salve ragazzi ho scritto un piccolo programmino per testare le mie capacità di debugger :

Codice PHP:
#include <stdio.h>
int f(int *);

int main()
{
  
int v 5wz1z2;
  
z1 f(&v) && f(&v);
  
printf("%d \n"z1 v);
  
z2 = (v++) + (<= w);
  
printf("%d \n"z2);
  
  
system("PAUSE");    
  return 
0;
}

int f(int *x)
{
  
printf("%d \n", (*x)--);
  return *
>= 3;    

Il mio risultato calcolato a mente è:
5
3
1
1

Invece secondo il maestro compilatore è:
5
4
3
3

Non riesco a capire il perchè.

Secondo me l'errore sta in questo comando
Codice PHP:
return *>= 3
che a mia intepretazione vuol dire (alla prima chiamata di questa funzione) "4 - 1 (cioè 3) è maggiore o uguale a 3? SI" allora torna 1 a z1, in questo momento 'v' vale 3 o 4 ?

Se vale 3 alla seconda chiamata viene passato 3 a 'f' altrimenti 4 è giusto?