Functions - Programming

Q1:

What will be the output of the program?
#include<stdio.h>
int fun(int(*)());

int main()
{
    fun(main);
    printf("Hi\n");
    return 0;
}
int fun(int (*p)())
{
    printf("Hello ");
    return 0;
}

A Infinite loop

B Hi

C Hello Hi

D Error

ANS:C - Hello Hi

No answer description is available. Let's discuss.