program essai
implicit none
print *, pouet(1)
print *, pouet(0)
contains
integer function pouet(i)
integer, intent(in) :: i
pouet = 2
if (i == 0) then
pouet = -1
else
pouet = i
end if
end function
end program essai
La sortie se fait au niveau du end function et ça m'affiche :
1
-1
On peut éventuellement mettre un return après l'instruction pouet = -1 pour sortir plus vite de la fonction.
On peut aussi utiliser result pour indiquer quelle variable contiendra le résultat :
integer function pouet(i) result(r)
integer, intent(in) :: i
r = 2
if (i == 0) then
r = -1
return
else
r = i
end if
end function
Attention, il ne faut pas déclarer la variable si on a indiqué le type de donnée devant function. La variable r est automatiquement de type integer comme indiqué en début de ligne.
# En Fortran
Posté par vmagnin (site web personnel, Mastodon) . En réponse au journal Is return the new goto ?. Évalué à 10. Dernière modification le 26 janvier 2024 à 21:44.
En Fortran, je peux écrire :
La sortie se fait au niveau du
end functionet ça m'affiche :1
-1
On peut éventuellement mettre un
returnaprès l'instructionpouet = -1pour sortir plus vite de la fonction.On peut aussi utiliser
resultpour indiquer quelle variable contiendra le résultat :Attention, il ne faut pas déclarer la variable si on a indiqué le type de donnée devant
function. La variablerest automatiquement de typeintegercomme indiqué en début de ligne.