C | Pointer Basics | Question 16
#include <stdio.h> int main() { int arr[] = {1, 2, 3, 4, 5}; int *p = arr; ++*p; p += 2; printf ( "%d" , *p); return 0; } |
chevron_right
filter_none
(A) 2
(B) 3
(C) 4
(D) Compiler Error
Answer: (B)
Explanation: The expression ++*p is evaluated as “++(*p)” . So it increments the value of first element of array (doesn’t change the pointer p).
When p += 2 is done, p is changed to point to third element of array.
Quiz of this Question
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.