C/C++での一時利用しかしない変数の宣言

Cは変数の宣言をブロックの冒頭でやらなくてはいけないので、宣言と利用が遠く離れてソースが見づらくなる。*1そこで変数の宣言と利用を固める方法を苦し紛れに考えた。わざとブロックにして変数をprivateっぽくローカルなスコープに閉じ込めてしまう。ついでに初期化を用いて計算を済ませてしまう。例えばswitch文の中で

    case 0: // i,j,k,side_Noは上位で定義されている
{
int jj= j+sy[side_No] ,kk= k+sz[side_No];
double f0= fabs( f[i ][jj][kk] - threshold )
,f1= fabs( f[i+1][jj][kk] - threshold );
v0= i + f0/(f0+f1);
v1= jj;
v2= kk;
}
break; // v0,v1,v2に欲しい結果が入っている

*1:学生にCの演習をするときに躓くポイントでもある。