Functions

16

Which of the following statements are correct about the function?

long fun(int num)
{
    int i;
    long f=1;
    for(i=1; i<=num; i++)
        f = f * i;
    return f;
}
A. The function calculates the value of 1 raised to power num.
B. The function calculates the square root of an integer
C. The function calculates the FACTORIAL value of an integer
D. None of above

17

There is a error in the below program. Which statement will you add to remove it?

#include<stdio.h>
int main()
{
    int a;
    a = f(10, 3.14);
    printf("%d\n", a);
    return 0;
}
float f(int aa, float bb)
{
    return ((float)aa + bb);
}
A. Add prototype: float f(aa, bb)
B. Add prototype: float f(int, float)
C. Add prototype: float f(float, int)
D. Add prototype: float f(bb, aa)

18

Which of the following statements are correct about the program?

#include<stdio.h>
int main()
{
    printf("%p\n", main());
    return 0;
}
A. It prints garbage values infinitely
B. Runs infinitely without printing anything
C. Error: main() cannot be called inside printf()
D. No Error and print nothing

19

Point out the error in the program

#include<stdio.h>
int main()
{
    int a=10;
    void f();
    a = f();
    printf("%d\n", a);
    return 0;
}
void f()
{
    printf("Hi");
}
A. Error: Not allowed assignment
B. Error: Doesn't print anything
C. No error
D. None of above

20

Point out the error in the program

#include<stdio.h>
int f(int a)
{
  a > 20? return(10): return(20);
}
int main()
{
    int f(int);
    int b;
    b = f(20);
    printf("%d\n", b);
    return 0;
}
A. Error: Prototype declaration
B. No error
C. Error: return statement cannot be used with conditional operators
D. None of above