Instruction return

momo -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
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. greg
     
    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
  2. momo
     
    COMMENT, dans cet exemple, on renvoie un entier alors que le resultat c'est l'affichage de hello world.

    merci
    0
    1. cchristian Messages postés 928 Statut Membre 131
       
      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
  3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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