secundaria - tesis sobre aprendizaje cooperativo actualizado
¿Debo devolver 0 o 1 para una función exitosa? (3)
Posible duplicado:
Manejo de errores en código C
¿Qué valor de retorno debe utilizar para una llamada de función fallida en C?
Siempre uso 0, pero no es realmente legible en if , while , etc.
¿Debo devolver 1? ¿Por qué la función principal return 0 para el éxito?
Está definido por el estándar C como 0 para el éxito (los créditos van al hvd).
Para una mayor portabilidad, puede utilizar las macros
EXIT_SUCCESSyEXIT_FAILUREpara el valor de estado convencional para el éxito y el fracaso, respectivamente. Están declarados en el archivostdlib.h.
(Estoy hablando del valor devuelto al sistema operativo desde las llamadas principales , de salida o similares)
En cuanto a su función, devuelva lo que desea y hace que el código sea más legible, siempre y cuando lo mantenga así a lo largo de sus programas.
La razón por la cual el uso main 0 para el éxito es que se usa como el código de salida de la aplicación al sistema operativo, donde 0 generalmente significa éxito y 1 (o más alto) significa falla. (Por supuesto, siempre debe usar las macros predefinidas EXIT_SUCCESS y EXIT_FAILURE ).
Sin embargo, dentro de una aplicación, es más natural usar cero para fallas y no cero para tener éxito, ya que el valor de retorno se puede usar directamente en un if como en:
if (my_func())
{
...
}
Si está devolviendo un estado booleano, podría escribir un int y usarlo. Esto hace que el tipo de retorno de sus funciones sea obvio y usted (y otros) no tendrán que verificar si devuelve 0 o 1 para siempre .
typedef int BOOL;
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
BOOL myfunc()
{
...
return TRUE;
}