PDA

View Full Version : [C] Scambio variabili usando i puntatori : cosa c'è che non quadra ?


Ragazzo triste
15-08-2009, 10:12
Ciao a tutti,
ho appena compilato questo semplice programma (non scritto da me),per scambiare i valori di 2 variabili,usando i puntatori.

Come potete vedere dall'output,il programma non raggiunge il proprio obiettivo : le variabili restano ai propri posti.Cosa c'è che non va ?

/* Programma che usa la funzione
swap per scambiare il valore di
due variabili ,con l'uso di puntatori */

void swap(int *, int *);

#include <stdio.h>
#include <stdlib.h>

main(){
int prima = 1, seconda = 2;
printf("Prima dello scambio\n");
printf("prima=%d Seconda=%d\n",prima, seconda);
swap(&prima,&seconda);
printf("Dopo lo scambio\n");
printf("prima=%d Seconda=%d\n",prima, seconda);
system("PAUSE");
}


void swap(int *a, int *b){
int appoggio = *a;
*a = *b;
*b = appoggio;
}

Ragazzo triste
15-08-2009, 10:15
Mi correggo subito,il programma funziona...

Maledetto Dev-C++,mi aveva compilato una versione precedente del programma,senza i puntatori.

Devo sempre ricordarmi di cancellare tutti gli .exe prima di ricompilare,sennò c'è il rischio di output sbagliati...:(

khelidan1980
15-08-2009, 10:37
devo ancora capire perche vi ostinate ad usare dev C++

Ragazzo triste
16-08-2009, 16:48
devo ancora capire perche vi ostinate ad usare dev C++
Perché (credo) sia l'unico IDE "compile & run" a partire da un semplice file sorgente...mentre con gli altri IDE (Visual C++,Codeblocks ecc.) devi sempre creare un progetto,quindi spenderci qualche click in più del mouse...

nextor89
16-08-2009, 18:12
Perché (credo) sia l'unico IDE "compile & run" a partire da un semplice file sorgente...mentre con gli altri IDE (Visual C++,Codeblocks ecc.) devi sempre creare un progetto,quindi spenderci qualche click in più del mouse...

Codeblocks no!! ;) Funziona decisamente meglio di Dev!!