#include<stdio.h>
int fonc1(int);
int fonc2(int);
int main ()
{
int a=1,b=2,compteur;
for(compteur=1;compteur<=2;++compteur)
{b+=fonc1(a)+fonc2(b);
printf("b=%d\n",b);
}
getchar();
return 0;
}
int fonc1(int a)
{
int b;
b=fonc2(a);
printf("b=%d\n",b);
return b;
}
int fonc2(int a)
{
int b=1;
b+=1;
return (b+a);
}
c'est dans un polycopié d'exercices optionnels.
il faut dire ce que cela affiche, j'ai trouvé bêtement ce qu'il affiche en le compilant et en l'exécutant mais j'aimerai savoir ce que calcule ce programme.
pas dans le sens de trouver un nom à ce qu'il trouve, mais juste savoir comment le programme fonctionne, calcule ...
je vois ce que donne les 2 fonctions fonc1 et fonc2 mais je ne comprend pas:
int a=1,b=2,compteur;
for(compteur=1;compteur<=2;++compteur)
{b+=fonc1(a)+fonc2(b);
printf("b=%d\n",b);
}
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 29 déc. 2010 à 19:18
int a=1,b=2,compteur;
for(compteur=1;compteur<=2;++compteur)
{b+=fonc1(a)+fonc2(b);
printf("b=%d\n",b);
}
Le compteur n'est là que pour effectuer 2 fois la séquence:
b += fonc1(a) + fonc2(b);
printf("b=%d\n",b);
Ça équivaut strictement à:
int main ()
{
int a=1,b=2;
b+=fonc1(a)+fonc2(b);
printf("b=%d\n",b);
b+=fonc1(a)+fonc2(b);
printf("b=%d\n",b);
getchar();
return 0;
}
________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfoliohttp://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 1 janv. 2011 à 15:31
fonc2(9) => 11 et pas 4
Attention, ce n'est pas parce que la variable s'appelle b, que c'est la même.
Ceci:
int fonc2(int a)
{
int b=1;
b+=1;
return (b+a);
}
Est totalement et absolument identique à ça:
int fonc2(int x)
{
int y=1;
y+=1;
return (b+x);
}
ou encore:
int fonc2(int x)
{
return x + 2;
}
________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question