¿Funciones principales () devuelven valor?

¿Alguien, por favor, dígame dónde la función main () del lenguaje ‘C’ devuelve su valor?

La función main de C devuelve un int … que int va al progtwig que lo ejecutó (el proceso principal, si lo desea) como un código de estado de salida.

Específicamente, en la mayoría de los sistemas operativos, un código de salida 0 significa una ejecución normal (sin errores reales), y el no cero significa que hubo un problema y el progtwig tuvo que salir de forma anormal.

El valor de retorno si la función main () se usa como el código de estado de salida del progtwig.

En una shell puede obtener el estado de salida de un progtwig usando $ ?, ejemplo:

 ./prog exit_status=$? 

Desde el estándar C99:

5.1.2.2.3 Terminación del progtwig

1 Si el tipo de retorno de la función main es un tipo compatible con int , un retorno de la llamada inicial a la función main es equivalente a llamar a la función de exit con el valor devuelto por la función main como su argumento;

y entonces

7.20.4.3 La función de exit

5 Finalmente, el control se devuelve al entorno host. Si el valor del estado es cero o EXIT_SUCCESS , se EXIT_SUCCESS una forma definida por la implementación de la terminación exitosa del estado. Si el valor del estado es EXIT_FAILURE , se EXIT_FAILURE una forma definida por la implementación del estado de terminación sin éxito . De lo contrario, el estado devuelto está definido por la implementación.

En resumen, el valor de retorno de main se devuelve al entorno host en una forma definida por la implementación.

La función main está en libery para devolver su valor en cualquier punto en el que le plazca. Simplemente escribe:

 return my_return_value; 

y se acabó el juego.

Una statement general es: La función devuelve un valor al entorno de host.

Por lo tanto, main () devolverá el valor a cualquier progtwig o shell que aloje ese fragmento de código o al sistema operativo.

el valor de retorno 0 se considera como ejecución exitosa