Plus généralement, un ensemble de définitions est mutuellement récursif
si la relation << appelle
>> admet un cycle :
appelle
...appelle
appelle
.
L'exemple suivant est classique
(et sans grand intérêt) :
int pair(int n);
int impair(int n) {
if (n == 0) {
return 0;
} else {
return pair(n-1);
}
}
int pair(int n) {
if (n == 0) {
return 1;
} else {
return impair(n-1);
}
}
Les fonctions pair et impair s'appellent mutuellement :