>>42
そもそもコンパイル通らなくね?
条件が true になるかどうか以前の問題
>解説ではif文の中身が実行されないので初期化によるエラーが出るって書いてあり
これが本当なら説明がおかしいな
if文云々というより単に宣言された x, a, b が初期化されてないからコンパイルエラーになる
if文の中身がtrueになって{}の中が実行されて値が初期化されるかどうかは保証されない