In the following program the function pointer is defined to point to a function which accepts no argument and returns int yet the function pointer works here. Why?
#include<stdio.h>
int mul(int*,int*);
int main()
{ int a=10,b=20;
int(*p)();
p=&mul;
printf("%d ", (*p)(&a,&b));
return 0;
}
int mul(int*a,int*b)
{
return (*a * *b);
}