Zadeklaruj funkcję pustki w C?
Uczę się C i studiuję funkcje. Czytałem więc, że kiedy implementuję własną funkcję, muszę ją zadeklarować przed main (). Jeśli przegapię deklarację, kompilator otrzyma komunikat o błędzie.
Gdy studiowałem ten przykład (sprawdza, czy liczba jest liczbą pierwszą)
#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;
}
Zauważyłem, że zadeklarowano funkcję prime (), ale w głównej funkcji wywoływana jest funkcja input (), a także funkcja input () jest implementowana na dole. Ok, myślałem, że to pomyłka i zmieniam nazwę z pierwszej na wejściową.
jednak jeśli usunę deklarację i nie umieściłem żadnej, program jest kompilowany bez błędów i działa sprawnie. (Kompiluję i uruchamiam w Ubuntu)
Moje pytanie brzmi, czy konieczne jest zadeklarowanie pustej funkcji bez argumentów?