Variable Number of Arguments - Programming

Q1:

Point out the error in the following program.
#include<stdio.h>
#include<stdarg.h>
void varfun(int n, ...);

int main()
{
    varfun(3, 7, -11.2, 0.66);
    return 0;
}
void varfun(int n, ...)
{
    float *ptr;
    int num;
    va_start(ptr, n);
    num = va_arg(ptr, int);
    printf('%d', num);
}

A Error: too many parameters

B Error: invalid access to list member

C Error: ptr must be type of va_list

D No error

ANS:A - Error: too many parameters

No answer description is available. Let's discuss.