Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- int vettore[5];
- void swap(int** addr_pa, int** addr_pb)
- {
- printf("Valori puntati %d, %d con indirizzo %p, %p\n", **addr_pa, **addr_pb, *addr_pa, *addr_pb);
- int* temp;
- temp =* addr_pa;
- *addr_pa = *addr_pb;
- *addr_pb=temp;
- printf("Valori puntati dopo swap %d, %d\n con indirizzo %p, %p\n", **addr_pa, **addr_pb, *addr_pa, *addr_pb);
- }
- int main(int argc, char* argv[])
- {
- // int numero;
- int **pv;
- int i, j, l, ind;
- pv=(int**)malloc(sizeof(int*)*5);
- /*vettore[0] = 42;
- vettore[1] = 38;
- vettore[2] = 5;
- vettore[3] = 51;
- vettore[4] = 56;*/
- for(i=0; i<5; i++)
- {
- printf("Inserisci un numero\n");
- scanf("%d", &vettore[i]);
- }
- for(ind=0; ind<5; ind++)
- {
- printf("valore nella posizione %d è %d con indirizzo %p\n", ind, *(vettore+ind), &(vettore[ind]));
- }
- for(j=0; j<5; j++)
- {
- pv[j]=&(vettore[j]);
- }
- for(l=0; l<5; l++)
- {
- printf("Valore, passando attraverso vettore puntatori: %d\n con puntatori %p\n", *(pv[l]), pv[l]);
- }
- if(*(pv[0])>*(pv[1]))
- {
- swap(&(pv[0]), &(pv[1]));
- }
- printf("Dopo scambio - primo numero indirizzo: %p, secondo numero indirizzo: %p con valori %d, %d\n", (pv[0]), (pv[1]), *(pv[0]), *(pv[1]));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement