>>910
グローバル変数として扱えなくなっているというより
そもそもグローバル変数でない別のものにアクセスしちゃう形

変数名を書かれたとき、コンパイラはスコープの近いものから順に探すので
近いところにg_iやg_j(これらはグローバルのg_iやg_jとは別の変数)を見付けた時点で「ああこれね」となり
グローバル変数があるかどうかなんて別に気にも留めないままコンパイルすることになる
そんなワケでローカルのg_iやg_jに値を代入し、それは使われないまま捨てられる
…てな感じで考えたほうがいいかな