fork download
  1. #include <stdio.h>
  2.  
  3. void swap_pointer(int **pp) {
  4. int *temp;
  5.  
  6.  
  7. temp = *pp;
  8. *pp = *(pp + 1);
  9. *(pp + 1) = temp;
  10. }
  11.  
  12. int main(void) {
  13. int a = 10;
  14. int b = 20;
  15.  
  16.  
  17. int *p[2] = {&a, &b};
  18.  
  19.  
  20. printf("p[0] が指す値: %d\n", *p[0]);
  21. printf("p[1] が指す値: %d\n", *p[1]);
  22.  
  23.  
  24. swap_pointer(p);
  25.  
  26. printf(" 入れ替え後 \n");
  27.  
  28. printf("p[0] が指す値: %d\n", *p[0]);
  29. printf("p[1] が指す値: %d\n", *p[1]);
  30.  
  31. return 0;
  32. }
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
p[0] が指す値: 10
p[1] が指す値: 20
 入れ替え後 
p[0] が指す値: 20
p[1] が指す値: 10