|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
|
[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: 2682
|
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: 20:08.