Ciao,
sto scrivendo un semplice programma in c che dati due interi ne scambia l'indirizzo per mezzo di due puntatori.
Se il codice è il seguente (p e q sono i puntatori) non ho problemi:
infatti inserendo per esempio 3 e 5 ottengo:codice:stampa(p,q); swap(p,q); stampa(p,q);
Se però inserisco delle printf in questo modo:codice:p: contenuto: 3 , indirizzo 0xbf907130. q: contenuto: 5 , indirizzo 0xbf907134. p: contenuto: 5 , indirizzo 0xbf907130. q: contenuto: 3 , indirizzo 0xbf907134.
ottengo:codice:printf( "Prima dello scambio:\n); stampa(p,q); swap(p,q); printf("Dopo lo scambio:\n"); stampa(p,q);
non capisco perchè...mi succede lo stesso se utilizzo fprintf..codice:Prima dello scambio: p: contenuto: 14617120 , indirizzo 0xbfc988e0. q: contenuto: 134514938 , indirizzo 0xbfc988e4. Dopo lo scambio: p: contenuto: 134514938 , indirizzo 0xbfc988e0. q: contenuto: 14617120 , indirizzo 0xbfc988e4.

Rispondi quotando