Bonsoir!
Je voulais savoir si quelqu'un pouvait m'aider à analyser ces quelques lignes de codes:
Pour la première ligne, aucun souci, en revanche pour les suivantes, j'ai beau consulter les normes, j'ai vraiment du mal à trouver le résultat voulu de tête.int a=30, b=10, c[3]={5,15,4}, *p;
p=c;
printf ("%d %d %d %d %d\n\n", a, b, p[0], p[1], p[2]); // 30, 10, 5, 15, 4
printf ("%d\n", a/=*p++);
printf ("%d\n", (*(p++)%= (++a-1)) );
printf ("%d\n", *p=!(*p-4));
printf ("%d\n", b+=*p--);
printf ("%d\n", 2+(a=*(p=c)+3));
printf ("%d %d %d %d\n",b, p[0],a, *(c+2));
Par exemple, pour la seconde ligne j'aurais bien dit que le résultat affiché vaut 7, ce qui n'est pas le cas.
En effet:
a/=*p++
> a= a/*p++
> a= 30/5 ++
D'ou a=7...
Bien évidemment je sais que j'ai faux, mais j'aimerais bien en connaitre la raison.
Merci d'avance

 

 
		
		 
         
  
			
			



 Problème d'analyse d'un code
 Problème d'analyse d'un code
				 Répondre avec citation
  Répondre avec citation


 
			 
   
 


 
  
  
 
 
			 
   Envoyé par sepnar
 Envoyé par sepnar
					
Partager