int main(); int main(int argc, char *argv[]);
La función main es una función especial que representa el punto de inicio de la ejecución de todo programa en C. Además, el punto de finalización de esta función representa el fin del programa. Su declaración adopta varias formas, dos de ellas mostradas en la sintaxis. Los argumentos de la segunda permiten pasar a la función main datos recibidos desde el sistema operativo. El primero, argc, es un entero que indica el número de argumentos del vector argv. El segundo, argv, es un puntero a un vector de punteros a ristras que contiene la información pasada a main desde la línea de comandos. argc es mayor o igual que 1 ya que argv[0] siempre apunta al nombre del propio programa, normalmente al nombre del ejecutable.
En muchos sistemas operativos el valor devuelto por la función main es utilizado como control de estado para el entorno desde el que se ha ejecutado el programa. El comportamiento concreto varía de un compilador a otro. Es práctica de buena programación incluir un valor de retorno para la función main. Tradicionalmente 0 significa una terminación correcta del programa, cualquier otro valor es señal de terminación anormal.
En la función main se lee un entero estrictamente positivo y se determina si es perfecto o no. Un número perfecto es un número entero positivo igual a la suma de sus divisores propios.
#include <stdio.h> int main(){ int n, suma=0, divisor=1; /* definición de tres variables enteras */ printf("Introduzca un entero estrictamente positivo\n"); scanf("%d",&n); for (;divisor<n;divisor++) if(n%divisor==0) suma=suma+divisor; if(n==suma) printf("%d es un número perfecto\n",n); else printf("%d no es un número perfecto\n",n); return 0; }