Sauf que l'interprétation de la norme ici dit qu'un programme qui renvoie 0 OU EXIT_SUCCESS est un programme qui retourne une valeur de succès. Si le système derrière le compilateur a besoin d'une valeur de succès non-nulle, alors charge au système/compilateur de convertir correctement la valeur. Et donc dire « return 0 » est conforme à C89/C99 est valide.
Même sous Linux/Unix, il y a des transformations « cachées » : main renvoie int, mais seuls 8 bits sont réellement utilisables par le programmeur : le reste est utilisé par le système (ou au moins le shell).
[^] # Re: LOGIN
Posté par lasher . En réponse au journal Claque nostalgique : Hebdogiciel. Évalué à 3.
Sauf que l'interprétation de la norme ici dit qu'un programme qui renvoie 0 OU EXIT_SUCCESS est un programme qui retourne une valeur de succès. Si le système derrière le compilateur a besoin d'une valeur de succès non-nulle, alors charge au système/compilateur de convertir correctement la valeur. Et donc dire « return 0 » est conforme à C89/C99 est valide.
Même sous Linux/Unix, il y a des transformations « cachées » : main renvoie int, mais seuls 8 bits sont réellement utilisables par le programmeur : le reste est utilisé par le système (ou au moins le shell).