Instruction return

Fermé
momo - 24 sept. 2008 à 22:57
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 25 sept. 2008 à 05:21
Bonsoir
Pourquoi on met return 0 dans ce programme:
#include <stdio.h>

int main()
{
printf("Hello World!");
return 0;
}

En faite, je commence à apprendre le langage C et je n'arrive pas à comprendre l'instruction return.

Merci.

3 réponses

Quand tu écris une fonction int fonction(paramètre) ça veut dire que cette fonction renvoi un entier (int) donc pour terminer cette fonction tu dois renvoyer un chiffre.
return 0 dans ton exemple ou return 1 si tu veux.

Pour programmer une somme tu renverrai le résultat : int somme (int a, int b) { return a+b; }

Si tu ne veux rien renvoyer signale le par le mot clé void comme : void main (void).

A+, Greg.
0
COMMENT, dans cet exemple, on renvoie un entier alors que le resultat c'est l'affichage de hello world.

merci
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
25 sept. 2008 à 00:31
Bonsoir,


PROCEDURE :
Toute procédure est à même de retourner une valeur qui doit être comprise comme un code retour (return code) qui peut (doit) être exploité par la fonction appelante. En général la valeur 0 (zéro) signifie à la procédure appelante que tout s'est correctement déroulé dans la logique d'exécution de la procédure appelée. (celle-là même qui renseigne ce code retour avec une valeur) exemple :

PROCEDURE APPELANTE :

.........................................
// Variable de récupération de la valeur retournée par la proc. appelée.
int	 rc_proc	= 0 ;
.........................................

rc_proc = PROC_APPELEE (param1,  param2, .........,.......) ;
IF ( rc_proc == 0) {printf ("enregistrement présent")  ;}
ELSE               {printf ("enregistrement absent") ;}
.........................................
.........................................
}

PROCEDURE APPELEE :

int PROC_APPELEE (param1,  param2, .........,.......) 
{
int	 RC_PROC_APPEL = 0 ;
.........................................

// Par ex. test de présence=0/absence=1 d'un enreg. dans un fichier 
// (clé d'accès param1).
IF (presence enreg.)  {RC_PROC_APPEL = 0;}
ELSE                  {RC_PROC_APPEL = 1;}
.........................................
RETURN                (RC_PROC_APPEL);
}
 
FONCTION :
Comme Greg te l'a écrit, en ce qui concerne les fonctions (ne renvoient qu'un seul résultat) le principe est le même mais la valeur renvoyée par l'ordre RETURN est calculée à partir des paramètres de passation (param1,param2....). Il ne s'agit donc plus d'un code retour.
-1
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
25 sept. 2008 à 05:21
Salut,
Pour faire simple, l'application qui lancera ton programme recevra le code correspondant à ton return.
Si tu lances ton programmes à partir du terminal, il recevra le code 0 (code qui signifie que tout s'est bien passé).
Cdt
-1