Declare uma função vazia em C?
Estou aprendendo C e estou estudando funções. Então, eu li que quando eu implemento minha própria função eu tenho que declarar antes do main (). Se eu perder a declaração, o compilador receberá uma mensagem de erro.
Como eu estava estudando este exemplo (descobre se o número é um número primo)
#include <stdio.h>
void prime(); //function prototype(declaration)
int main()
{
int num,i,flag;
num = input(); // No argument is passed to input()
for(i=2,flag=i; i<=num/2; ++i,flag=i)
{
flag = i;
if(num%i==0)
{
printf("%d is not prime\n",num);
++flag;
break;
}
}
if(flag==i)
printf("%d is prime\n",num);
return 0;
}
int input() /* Integer value is returned from input() to calling function */
{
int n;
printf("\nEnter positive enter to check: ");
scanf("%d",&n);
return n;
}
Notei que uma função prime () é declarada, mas no principal uma função input () é chamada e também a função input () é implementada na parte inferior. Ok, achei que foi um erro e mudei o nome de primo para entrada.
Contudo se eu excluir a declaração e não colocar nenhuma lá, o programa será compilado sem erros e será executado sem problemas. (Eu compilo e corro no Ubuntu)
Então, minha pergunta é: é necessário declarar uma função vazia sem argumentos?