Fonction viable ?

Bonjour,

void fonction_deux(){
     blablabla
     if(test!=sort_de_la){
         fonction_deux();
  }
}

Question: Est-ce que c'est viable ?
Merci d'avance.
EDIT: Ou est-ce qu'il faut que je mette une boucle dans la fonction, avec un le test dans la boucle pour en sortir, et du coup "finir" sortir de la fonction ?

Je me lance dans un domaine autre que l'électronique :
Une fonction qui s'appelle elle-même cela s"appelle de la récursivité.
Je n'ai jamais pratiqué mais à ce que j'ai lu, et qui est compréhensible, cela peut bouffer très vite beaucoup de mémoire. Dans un micro-controleur où la mémoire est un bien rare et précieux je pense que c'est à éviter a moins de bien maîtriser son sujet.

Je me doutais que c'était chelou. Si je mets une boucle dans la fonction, avec un test pour sortir de la boucle;
En sortant de la boucle, je sort aussi de la fonction (s'il n'y a rien après la boucle); et je retourne à la ligne suivant l'appel ,
C'est true ça ?

Mauvaise idée ... comment résoudre, un peu de reflexion :

void fonction_deux(){

while(test!=sort_de_la){
     blablabla      
  }

}

Carolyne:
Je me doutais que c'était chelou. Si je mets une boucle dans la fonction, avec un test pour sortir de la boucle;
En sortant de la boucle, je sort aussi de la fonction (s'il n'y a rien après la boucle); et je retourne à la ligne suivant l'appel ,
C'est true ça ?

Oui mais la récursivité c'est réservé à certains trucs particuliers parce que sur des petits système comme l'arduino avec peu de mémoire c'est crash assez rapidement.
La c'est plutôt la conséquence d'un mauvais raisonnement comme l'explique B@tto.

En parlant de récursivité, est-ce qu'un algo comme ça peut fonctionner sur de l'Arduino ?:
Je pense que oui. Par quoi on sera limité.

    x=1
    for i=1 to ord 
       for j=i+1 to ord
          for k=j+1 to ord
                //....ICI extraction valeurs
                x=x+1
          next k
       next j
    next i

Carolyne:
En parlant de récursivité, est-ce qu'un algo comme ça peut fonctionner sur de l'Arduino ?:
Je pense que oui. Par quoi on sera limité.

    x=1

for i=1 to ord
       for j=i+1 to ord
          for k=j+1 to ord
                //....ICI extraction valeurs
                x=x+1
          next k
       next j
    next i

Tu seras limitée par ça //....ICI extraction valeurs
Cela dépend de ce que tu fais comme "extraction". Ne pas imaginer une seconde gérer des tableaux à 3 dimensions ou alors avec vraiment très peu d'éléments.
Autre limite la vitesse d'exécution. Cela dépend pour beaucoup du nombre de données à traiter et de leur quantité.

Mais c'est pas de la récursivité.

La récursivité c'est quand une fonction s'appelle elle même.
par exemple la factorielle n ! = n * (n- 1) !
on calcule 4 ! = 4 * 3 ! à partir de 3 ! = 3 * 2 ! et 2 ! = 2 * 1
Si n est grand, la pile du processeur sature et ça plante.

Et encore, la factorielle est un mauvais exemple car on peut tout résumer en une boucle avec accumulation du résultat :wink: