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?m=0
1. What is the output of this C code?
#includevoid 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?
#includevoid 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?
#includevoid 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?
#includevoid 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?
#includevoid 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?
#includeint 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?
#includevoid 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?
#includeint 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?
#includeint 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?
#includevoid 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?
#includevoid 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?
#includevoid 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?
#includevoid 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
