質問: 0.0;... →int i と int rad がスコープ内の変数として新しく宣言される?
回答: ついでに言うと doubleには誤差が含まれています。 rad += drad のように、doube+doubleを繰り返すと、誤差が溜まることがあります。 # たとえば、0.1+0.1+..... と100回繰り返した値!=10.0 と言う事が起こり得ます。 今回の場合は rad = drad * i とするのがよいでしょう。 詳しくは、「double 誤差」辺りで検索してください。