Exercice langage C : opérations élémentaires sur pointeurs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
   main()
   {
      int A = 1;
      int B = 2;
      int C = 3;
      int *P1, *P2;
      P1=&A;
      P2=&C;
      *P1=(*P2)++;
      P1=P2;
      P2=&B;
      *P1-=*P2;
      ++*P2;
      *P1*=*P2;
      A=++*P2**P1;
      P1=&A;
      *P2=*P1/=*P2;
      return 0;
   }


Copiez le tableau suivant et complétez-le pour chaque instruction du programme ci-dessus.


A



B
C
P1
P2
Init.
1
2
3
/
/
P1=&A
1
2
3
&A
/
P2=&C





*P1=(*P2)++





P1=P2
     
     
      
      
      
P2=&B





*P1-=*P2





++*P2





*P1*=*P2





A=++*P2**P1





P1=&A





*P2=*P1/=*P2










A



B
C
P1
P2
Init.
1
2
3
/
/
P1=&A
1   
2   
3  
&A 
/  
P2=&C
1
2
3
&A
&C
*P1=(*P2)++
3
2
4
&A
&C
P1=P2
3
2
4
&C
&C
P2=&B
3
2
4
&C
&B
*P1-=*P2
3
2
2
&C
&B
++*P2
3
3
2
&C
&B
*P1*=*P2
3
3
6
&C
&B
A=++*P2**P1
24
4
6
&C
&B
P1=&A
24
4
6
&A
&B
*P2=*P1/=*P2
6
6
6
&A
&B