Advertisement
quuircio

Untitled

Mar 29th, 2022
2,202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.42 KB | None | 0 0
  1.  
  2. #include <stdlib.h>
  3. #include <stdio.h>
  4. int vettore[5];
  5.  
  6. void swap(int** addr_pa, int** addr_pb)
  7. {
  8.     printf("Valori puntati %d, %d con indirizzo %p, %p\n", **addr_pa, **addr_pb, *addr_pa, *addr_pb);
  9.     int* temp;
  10.     temp =* addr_pa;
  11.     *addr_pa = *addr_pb;
  12.     *addr_pb=temp;
  13.     printf("Valori puntati dopo swap %d, %d\n con indirizzo %p, %p\n", **addr_pa, **addr_pb, *addr_pa, *addr_pb);
  14.    
  15. }
  16.  
  17. int main(int argc, char* argv[])
  18. {
  19.    
  20. //  int numero;
  21.     int **pv;
  22.     int i, j, l, ind;
  23.     pv=(int**)malloc(sizeof(int*)*5);
  24.  
  25.     /*vettore[0] = 42;
  26.     vettore[1] = 38;
  27.     vettore[2] = 5;
  28.     vettore[3] = 51;
  29.     vettore[4] = 56;*/
  30.  
  31.     for(i=0; i<5; i++)
  32.     {
  33.         printf("Inserisci un numero\n");
  34.         scanf("%d", &vettore[i]);
  35.        
  36.     }
  37.    
  38.    
  39.     for(ind=0; ind<5; ind++)
  40.     {
  41.         printf("valore nella posizione %d è %d con indirizzo %p\n", ind, *(vettore+ind), &(vettore[ind]));
  42.        
  43.     }
  44.    
  45.     for(j=0; j<5; j++)
  46.     {
  47.         pv[j]=&(vettore[j]);
  48.     }
  49.    
  50.     for(l=0; l<5; l++)
  51.     {
  52.         printf("Valore, passando attraverso vettore puntatori: %d\n con puntatori %p\n", *(pv[l]), pv[l]);
  53.     }
  54.    
  55.     if(*(pv[0])>*(pv[1]))
  56.     {
  57.         swap(&(pv[0]), &(pv[1]));
  58.     }
  59.     printf("Dopo scambio - primo numero indirizzo: %p, secondo numero indirizzo: %p con valori %d, %d\n", (pv[0]), (pv[1]), *(pv[0]), *(pv[1]));
  60.    
  61.     return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement