plusieurs return dans une fonction?
Je venais d'ecrire la fonction ci-dessous que je suis tombé sur :
http://emmanuel-delahaye.developpez.com/goret.htm
Citation:
Force 8
* Plus d'un return par fonction
Cette fonction retourne la distance minimum entre :
- p + d
et
- centre
Sachant que -1 représente l'infini.
Il me semble que les return évitent des tests inutiles.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
static inline int min_dist(int centre, int p, int d) {
if(centre == -1) {
if(p == -1) {
return centre; //j'aurai pu ecrire return -1 c'est pareil
}
return p+d;
}
if(p == -1) {
return centre;
}
if(p+d < centre) {
return p+d;
}
return centre;
} |
Accessoirement je ne comprends pas trop ceci aussi :
Citation:
Utilisation du type int ou long pour les index.
J'ai toujours vu des int pour les index, quel est le problème sachant que la manipulation d'un int n'est pas plus lente qu'un autre type?