j'ai appris le C avec la notion suivante : la fonction main doit
TOUJOURS retourner 0 sinon, c'est qu'une erreur s'est produite.
Or, je n'ai vu aucun passage dans la norme qui impose que la valeur
retournee soit 0.
Et recemment, j'ai discute avec un eleve d'EPITECH qui lui retournait
systematiquement 1..
Nous avons tous les deux appris avec des methodes differentes, chacune
d'entre elles affirme qu'il FAUT retourner une valeur en particulier
et impose cette valeur.. Pourquoi?
Je suppose que la gestion d'erreurs n'est pas la meme selon les OS et
que ca joue donc sur la valeur de retour, mais existe t'il une loi
"universelle", existe t'il une "bonne pratique", pourquoi les cours
imposent-ils une valeur en particulier??
le 09/09/2010 à 18:04, JKB a écrit dans le message :
Tu vas encore me dire que les specs disent explicitement que EXIT_FAILURE doit valoir 1. Dans ma jeunesse, la règle était 0 'fin conforme' et valeur non nulle 'fin anormale' et j'en suis toujours resté là.
Ce n'est pas ce qu'il a dit et ça n'a pas changé depuis ta jeunesse.
Extrait de <http://www.opengroup.org/onlinepubs/009695399/basedefs/stdlib.h.html> : | EXIT_FAILURE | Unsuccessful termination for exit(); evaluates to a non-zero | value. | | EXIT_SUCCESS | Successful termination for exit(); evaluates to 0.
-- Benoit Izac
Bonjour,
le 09/09/2010 à 18:04, JKB <jkb@koenigsberg.invalid> a écrit dans le
message <slrni8i1bu.tg1.jkb@rayleigh.systella.fr> :
Tu vas encore me dire que les specs disent explicitement que
EXIT_FAILURE doit valoir 1. Dans ma jeunesse, la règle était 0 'fin
conforme' et valeur non nulle 'fin anormale' et j'en suis toujours
resté là.
Ce n'est pas ce qu'il a dit et ça n'a pas changé depuis ta jeunesse.
Extrait de
<http://www.opengroup.org/onlinepubs/009695399/basedefs/stdlib.h.html> :
| EXIT_FAILURE
| Unsuccessful termination for exit(); evaluates to a non-zero
| value.
|
| EXIT_SUCCESS
| Successful termination for exit(); evaluates to 0.
le 09/09/2010 à 18:04, JKB a écrit dans le message :
Tu vas encore me dire que les specs disent explicitement que EXIT_FAILURE doit valoir 1. Dans ma jeunesse, la règle était 0 'fin conforme' et valeur non nulle 'fin anormale' et j'en suis toujours resté là.
Ce n'est pas ce qu'il a dit et ça n'a pas changé depuis ta jeunesse.
Extrait de <http://www.opengroup.org/onlinepubs/009695399/basedefs/stdlib.h.html> : | EXIT_FAILURE | Unsuccessful termination for exit(); evaluates to a non-zero | value. | | EXIT_SUCCESS | Successful termination for exit(); evaluates to 0.
-- Benoit Izac
Tonton Th
On 09/09/2010 06:04 PM, JKB wrote:
Tu vas encore me dire que les specs disent explicitement que
En tant que trolleur, je peux te dire aussi qu'entre les specs et la réalité, à propos du retour de main(), c'est un peu du portnawak.
Le plus conservateur que je connaisse, c'est l'intervalle [0..127] modulo la compréhension de l'appelant.
-- Et pendant ce temps-là, dans le septembre éternel...
On 09/09/2010 06:04 PM, JKB wrote:
Tu vas encore me dire que les specs disent explicitement que
En tant que trolleur, je peux te dire aussi qu'entre les specs
et la réalité, à propos du retour de main(), c'est un peu du
portnawak.
Le plus conservateur que je connaisse, c'est l'intervalle [0..127]
modulo la compréhension de l'appelant.
--
Et pendant ce temps-là, dans le septembre éternel...