Point Out Correct Statements

Question 1 :

Which of the following statements correctly declare a function that receives a pointer to pointer to a pointer to a float and returns a pointer to a pointer to a pointer to a pointer to a float?


A). float **fun(float***);
B). float *fun(float**);
C). float fun(float***);
D). float ****fun(float***);
Answer : Option D

Question 2 :

Which of the statements is correct about the program?

#include < stdio.h >
int main()
{
    int i=10;
    int *j=&i;
    return 0;
}


A). j and i are pointers to an int
B). i is a pointer to an int and stores address of j
C). j is a pointer to an int and stores address of i
D). j is a pointer to a pointer to an int and stores address of i
Answer : Option C

Question 3 :

Which of the statements is correct about the program?

#include < stdio.h >
int main()
{
    float a=3.14;
    char *j;
    j = (char*)&a;
    printf("%d\n", *j);
    return 0;
}


A). It prints ASCII value of the binary number present in the first byte of a float variable a.
B). It prints character equivalent of the binary number present in the first byte of a float variable a.
C). It will print 3
D). It will print a garbage value
Answer : Option A

Question 4 :

In the following program add a statement in the function fun() such that address of a gets stored in j?

#include < stdio.h >
int main()
{
    int *j;
    void fun(int**);
    fun(&j);
    return 0;
}
void fun(int **k)
{
    int a=10;
    /* Add a statement here */
}


A). **k=a;
B). k=&a;
C). *k=&a
D). &k=*a
Answer : Option C

Question 5 :

Which of the following statements correct about k used in the below statement?
char ****k;


A). k is a pointer to a pointer to a pointer to a char
B). k is a pointer to a pointer to a pointer to a pointer to a char
C). k is a pointer to a char pointer
D). k is a pointer to a pointer to a char
Answer : Option B