C Programming Questions and Answers on Pointers to Pointers for Freshers

https://www.computersprofessor.com/2017/12/c-programming-questions-and-answers-on_19.html
1. What is the output of this C code?
#include
void main()
{
int k = 5;
int *p = &k;
int **m = &p;
printf("%d%d%d\n", k, *p, **m);
}
a) 5 5 5
b) 5 5 junk value
c) 5 junk junk
d) Run time error
b) 5 5 junk value
c) 5 junk junk
d) Run time error
Answer: a
2. What is the output of this C code?
#include
void main()
{
int k = 5;
int *p = &k;
int **m = &p;
printf("%d%d%d\n", k, *p, **p);
}
a) 5 5 5
b) 5 5 junk value
c) 5 junk junk
d) Compile time error
b) 5 5 junk value
c) 5 junk junk
d) Compile time error
Answer: d
3. What is the output of this C code?
#include
void main()
{
int k = 5;
int *p = &k;
int **m = &p;
**m = 6;
printf("%d\n", k);
}
a) 5
b) Compile time error
c) 6
d) Junk
b) Compile time error
c) 6
d) Junk
Answer: c
4. What is the output of this C code?
#include
void main()
{
int a[3] = {1, 2, 3};
int *p = a;
int *r = &p;
printf("%d", (**r));
}
a) 1
b) Compile time error
c) Address of a
d) Junk value
b) Compile time error
c) Address of a
d) Junk value
Answer: b
5. What is the output of this C code?
#include
void main()
{
int a[3] = {1, 2, 3};
int *p = a;
int **r = &p;
printf("%p %p", *r, a);
}
a) Different address is printed
b) 1 2
c) Same address is printed.
d) 1 1
b) 1 2
c) Same address is printed.
d) 1 1
Answer: c
6. How many number of pointer (*) does C have against a pointer variable declaration?
a) 7
b) 127
c) 255
d) No limits.
Answer: d
7. What is the output of this C code?
#include
int main()
{
int a = 1, b = 2, c = 3;
int *ptr1 = &a, *ptr2 = &b, *ptr3 = &c;
int **sptr = &ptr1; //-Ref
*sptr = ptr2;
}
a) ptr1 points to a
b) ptr1 points to b
c) sptr points to ptr2
d) None of the mentioned
b) ptr1 points to b
c) sptr points to ptr2
d) None of the mentioned
Answer: b
8. What is the output of this C code?
#include
void main()
{
int a[3] = {1, 2, 3};
int *p = a;
int **r = &p;
printf("%p %p", *r, a);
}
a) Different address is printed
b) 1 2
c) Same address is printed.
d) 1 1
b) 1 2
c) Same address is printed.
d) 1 1
Answer: c
9. What substitution should be made to //-Ref such that ptr1 points to variable C?
#include
int main()
{
int a = 1, b = 2, c = 3;
int *ptr1 = &a;
int **sptr = &ptr1;
//-Ref
}
a) *sptr = &c;
b) **sptr = &c;
c) *ptr1 = &c;
d) none of the mentioned.
b) **sptr = &c;
c) *ptr1 = &c;
d) none of the mentioned.
Answer: a
10. Which of the following declaration throw run-time error?
a) int **c = &c;
b) int **c = &*c;
c) int **c = **c;
d) none of the mentioned
Answer: d
11. Comment on the output of this C code?
#include
int main()
{
int a = 10;
int **c -= &&a;
}
a) You cannot apply any arithmetic operand to a pointer
b) We don’t have address of an address operator
c) We have address of an address operator
d) None of the mentioned.
b) We don’t have address of an address operator
c) We have address of an address operator
d) None of the mentioned.
Answer: b
12. What is the output of this C code?
#include
void main()
{
int k = 5;
int *p = &k;
int **m = &p;
printf("%d%d%d\n", k, *p, **m);
}
a) 5 5 5
b) 5 5 junk value
c) 5 junk junk
d) Compile time error
b) 5 5 junk value
c) 5 junk junk
d) Compile time error
Answer: a
13. What is the output of this C code?
#include
void main()
{
int k = 5;
int *p = &k;
int **m = &p;
printf("%d%d%d\n", k, *p, **p);
}
a) 5 5 5
b) 5 5 junk value
c) 5 junk junk
d) Compile time error
b) 5 5 junk value
c) 5 junk junk
d) Compile time error
Answer: d
14. What is the output of this C code?
#include
void main()
{
int k = 5;
int *p = &k;
int **m = &p;
**m = 6;
printf("%d\n", k);
}
a) 5
b) Run time error
c) 6
d) Junk
b) Run time error
c) 6
d) Junk
Answer: c
15. What is the output of this C code?
#include
void main()
{
int a[3] = {1, 2, 3};
int *p = a;
int *r = &p;
printf("%d", (**r));
}
a) 1
b) Compile time error
c) Address of a
d) Junk value
b) Compile time error
c) Address of a
d) Junk value
Answer: b