Sto studiando il passaggio di argomenti a funzioni come puntatori e l'analogia col passaggio per indirizzo delle variabili, cosa c'è di errato in questo codice? La compilazione va a buon fine ma il run si blocca dopo aver stampato a video una sequenza numerica:
codice:#include <iostream> using namespace std; void scambia1(int &a, int &b) { int appo; appo=a; a=b; b=appo; return; } void scambia2(int *a, int *b) { int appo; appo= *a; *a= *b; *b= appo; } int main() { int num1=5, num2=7; int *p1, *p2; p1=&num1; p2=&num2; cout<<num1; cout<<num2; scambia1(num1, num2); cout<<num1; cout<<num2; scambia2(*p1,*p2); cout<<num1; cout<<num2; return 0; }

Rispondi quotando