Spero di non andare off-topic.. Su wikibooks c'è scritto
codice:
int main (void)
{
    int *a, *b, c = 10;
 
    b = a = &c;
}
 printf("La variabile c, puntata da a, vale %d, mentre la" 
        "stessa variabile puntata da b vale %d.", *a, *b);
Questo codice stamperà due volte il numero 10.

Ma non dovrebbe stampare due volte l'indirizzo della cella b il cui contenuto è 10? Bo..
L'operatore & non indica l'indirizzo di memoria?