Depende del compilador que estés usando. Igual la forma correcta siempre termina siendo:
int main( int argc, char **argv ){
// código
return 0;
}
Porque es bueno tener un control del programa que se está desarrollando. Es decir, un programa que no retorne ningún valor es un programa que no puede decirme si las cosas terminaron bien o mal.
Y el uso de parámetros me da la posibilidad de llamar a dicho programa pasándole valores.
./calculadora valor1 valor2 valor3
En este caso:
- argc = 4
- argv = un vector con el nombre del programa( en este caso "calculadora" ) y los valores que le pasé.
Es muchísimo más completo un programa de esta forma, y siempre
debería recibir y retornar valores.