Solution:
1️⃣ `int y = sizeof(++x);`
→ `sizeof` is a compile-time operator, so `++x` is **not evaluated**.
Hence, `x` remains unchanged (`x = 97`).
2️⃣ `printf("\nx is %d", x);`
→ prints: `x is 97`
3️⃣ Loop execution:
| ch | switch(ch) executes | putchar(ch) prints | next value of ch |
|------|----------------------|--------------------|------------------|
| 'A' | falls to case 'D' → ch++ → break | prints `'B'` | 'B' |
| 'B' | falls to case 'D' → ch++ → break | prints `'C'` | 'C' |
| 'C' | falls to case 'D' → ch++ → break | prints `'D'` | 'D' |
| 'D' | case 'D' → ch++ → break | prints `'E'` | 'E' |
| 'E' | case 'E' → fall through to case 'F' → ch++ | prints `'F'` | 'F' |
| 'F' | case 'F' → ch++ | prints `'G'` | 'G' (loop ends) |
Output sequence = `x is 97 BCDEFG`