codice:
#vari include
int main()
{
// non c'è ragione per cui dovrebbero essere globali
int status;
int variabile = 0;
int pid = fork();
if (pid == 0) {
// questo codice il padre non lo esegue, non lo sa che variabile vale 3
variabile = 3;
} else {
wait(&status);
variabile = 3;
cout << variabile;
}
}
Così visualizza 3. 
Se non ti piace così devi far si che il figlio comunichi il valore di variabile al padre usando un qualche sistema comunicazione tra processi tipo pipe, FIFO, memoria condivisa o chi più ne ha più ne metta.