|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2683
|
[C] Problema puntatori
Oddioooo il 23 ho l'esae e non mi ricordo più niente...ho trascurato programmazione per le altre materie
Ho fatto questo semplice programma, la funzione scambia dovrebbe scambiare i valori contenuti nelle due vafriabili x ed y ma non mi funziona..... #include <stdio.h> #include <stdlib.h> void Scambia(int *, int *); int main(){ int x = 3; int y = 6; printf("x vale: %d\n", x); printf("y vale: %d\n\n\n", y); void Scambia(int *x, int *y); printf("Chiamo la funzione Scambia e ottengo che:\n\n"); printf("x vale: %d\n", x); printf("y vale: %d\n\n\n", y); return 0; } void Scambia(int *px, int *py){ int c = *px; *px = *py; *py = c; } Che c'è di sbagliato? Grazie Andrea |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
Invece di chiamare la funzione, l'hai dichiarata
Così dovrebbe funzionare: Codice:
#include <stdio.h>
#include <stdlib.h>
void Scambia(int *, int *);
int main(){
int x = 3;
int y = 6;
printf("x vale: %d\n", x);
printf("y vale: %d\n\n\n", y);
Scambia(&x, &y);
printf("Chiamo la funzione Scambia e ottengo che:\n\n");
printf("x vale: %d\n", x);
printf("y vale: %d\n\n\n", y);
return 0;
}
void Scambia(int *px, int *py){
int *c = *px;
*px = *py;
*py = *c;
}
|
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2683
|
mmm si ora compila però non mi ha cambiato i valori delle variabili?come mai?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Nella funzione di scambio:
int c = *px; *px = *py; *py = c; |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:01.



















