Instruction return

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.
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. 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.
    1. COMMENT, dans cet exemple, on renvoie un entier alors que le resultat c'est l'affichage de hello world.

      merci
      1. 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.
    2. Contributeur
      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