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;
}