Pointers

11

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

12

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

13

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

14

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

15

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***);