#include #include void foo(int **p); int somme(void); int main(void); int resultat = 0; void foo(int **p) { int resultbis = ++resultat; *p = &resultbis; main(); return; } int m; int *p[5] = {&m, &m, &m, &m, &m}; int somme(void) { int i; int s = 0; for (i = 0; i < 5; i++) { printf("%d\n", *p[i]); s += *p[i]; } return s; } int main(void) { static int n; int m = n; if (n != 5) { foo(p + (m = n++)); if (m == 0) printf("%d\n", somme()); else return 0; } exit(EXIT_SUCCESS); }