Difficulty: Easy
Correct Answer: 1200, 1200, 1200
Explanation:
Introduction / Context:
This problem reinforces that an array name decays to the address of its first element in expressions, and that &arr gives the same numeric base address but has a different pointer type (pointer to the entire array).
Given Data / Assumptions:
Concept / Approach:
In C, arr (in most expressions) decays to &arr[0]. Therefore arr and &arr[0] point to the same location numerically. The expression &arr has type pointer-to-array-of-5-ints, but it still points to the same starting address numerically.
Step-by-Step Solution:
Verification / Alternative check:
Dereferencing levels differ: *arr is int, while *&arr is the whole array. Yet the base numeric address stored is identical, so printing with %u shows 1200 for all three.
Why Other Options Are Wrong:
Common Pitfalls:
Confusing pointer type with numeric address value. Type affects arithmetic step size, not the base numeric address printed here.
Final Answer:
1200, 1200, 1200
Discussion & Comments