¿Qué devuelve main() en C y C++?

C

De acuerdo con los estándares de codificación, un buen programa de retorno debe salir de la función principal con 0 . Aunque estamos usando void main()en C , en el que no tenemos que escribir ningún tipo de declaración de devolución, eso no significa que el código C no requiera 0 como código de salida . Veamos un ejemplo para aclarar nuestro pensamiento sobre la necesidad de la declaración return 0 en nuestro código.

Ejemplo 1 :

#include <stdio.h>
  
void main()
{
  
    // This code will run properly
    // but in the end,
    // it will demand an exit code.
    printf("It works fine");
}
Producción:

It works fine

Error de tiempo de ejecución:

NZEC

Como podemos ver en la salida, el compilador arroja un error de tiempo de ejecución NZEC , lo que significa que el código de salida no es cero . Eso significa que nuestro programa principal salió con un código de salida distinto de cero, por lo que si queremos ser desarrolladores, debemos hacer estas pequeñas cosas en nuestra mente.

Código correcto para C:

#include <stdio.h>
  
int main()
{
  
    // This code will run properly
    // but in the end,
    // it will demand an exit code.
    printf("This is correct output");
    return 0;
}
Producción:

This is correct output

Nota: Devolver un valor distinto de cero arrojará el mismo error de tiempo de ejecución. Así que asegúrese de que nuestro código devuelva solo 0.

Ejemplo #2:

#include <stdio.h>
  
int main()
{
  
    printf("GeeksforGeeks");
    return "gfg";
}
Producción:

It works fine

Error de tiempo de ejecución:

NZEC

Código correcto para C:

#include <stdio.h>
  
int main()
{
  
    printf("GeeksforGeeks");
    return 0;
}
Producción:

GeeksforGeeks

C++

En el caso de C++, no podemos usar la palabra clave void con nuestra main()función de acuerdo con los estándares de espacio de nombres de codificación, por eso solo pretendemos usar la palabra clave int solo con la función principal en C++. Veamos algunos ejemplos para justificar estas afirmaciones.

Ejemplo #3:

#include <iostream>
using namespace std;
  
void main()
{
    cout << "GeeksforGeeks";
}
Errores de compilación:

prog.cpp:4:11: error: '::main' must return 'int'
 void main()
           ^

Código correcto para C++:

#include <iostream>
using namespace std;
  
int main()
{
    cout << "GeeksforGeeks";
    return 0;
}
Producción:

GeeksforGeeks

Ejemplo #4:

#include <iostream>
using namespace std;
  
char main()
{
    cout << "GeeksforGeeks";
    return "gfg";
}
Errores de compilación:

prog.cpp:4:11: error: '::main' must return 'int'
 char main()
           ^
prog.cpp: In function 'int main()':
prog.cpp:7:9: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
  return "gfg";
         ^

Código correcto para C++:

#include <iostream>
using namespace std;
  
int main()
{
    cout << "GeeksforGeeks";
    return 0;
}
Producción:

GeeksforGeeks

Publicación traducida automáticamente

Artículo escrito por Jitender_1998 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *