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
Partager