我很想做1/2 + 2/3 + ... + 18/19 + 19/20℃,這裏是我的代碼:在C中加起來1/2 + 2/3 + ... + 18/19 + 19/20
版本1:
int main(){
double i,j,sum;
for(i=1,j=2,sum=0; i<=19 && j<=20; i++, j++)
sum+=i/j;
printf("%f\n",sum);
return 0;
}
版本1個輸出: 16.402260
版本2:
int main(){
double i,j,sum;
for(i=1,j=2,sum=0; i<=19 && j<=20; sum+=i/j, i++, j++)
printf("%f\n",sum);
return 0;
}
2版輸出:
0.000000
0.500000
1.166667
1.916667
2.716667
3.550000
4.407143
5.282143
6.171032
7.071032
7.98
8.896789
9.819866
10.748438
11.681771
12.619271
13.560447
14.504892
15.452260
版本3:
int main(){
double i,j,sum;
for(i=1,j=2,sum=0; i<=19 && j<=20; sum+=i/j, i++, j++)
;
printf("%f\n",sum);
return 0;
}
版本3輸出:
16.402260
我很困惑,爲什麼版本1 & 3作品,其中包括版本2不,因爲版本2和版本3非常相似,除了版本3的for循環包含空的主體以及版本2沒有的主體。
噢好吧,明白了。謝謝Trinimon! = D順便說一句,你的解釋真棒! – Wobblester