Difficulty: Medium
Correct Answer: 12, 12, 12
Explanation:
Introduction / Context:
The task tests operator precedence for bitwise operators in C: & has higher precedence than ^, which has higher precedence than |. Understanding this avoids accidental mis-grouping.
Given Data / Assumptions:
Concept / Approach:
Evaluate j & j first, then apply |. For XOR, evaluate directly. No parentheses are present, so rely on precedence rules (& before ^ before |) and left-to-right association within the same precedence level for | and ^.
Step-by-Step Solution:
Verification / Alternative check:
Compute using binary: 0100 | 1000 = 1100 (12); 0100 ^ 1000 = 1100 (12). Both confirm the same decimal result.
Why Other Options Are Wrong:
Common Pitfalls:
Assuming all bitwise operators have the same precedence or that evaluation is strictly left-to-right without considering operator ranks.
Final Answer:
12, 12, 12
Discussion & Comments