# include<iostream>
using namespace std;
int main(){
int s=0;
for (int i=10;i--;s+=i) {
cout<<i<<endl;
cout<<s<<endl;
}
cout<<"sum_of_i = "<<s<<endl;
return 0;
}
输出为:
9
0
8
9
7
17
6
24
5
30
4
35
3
39
2
42
1
44
0
45
sum_of_i = 45
-9
0
-8
-9
-7
-17
-6
-24
-5
-30
-4
-35
-3
-39
-2
-42
-1
-44
0
-45
sum_of_i = -45
这种奇怪的用法第一次看到。先写在这里,看到更详细的解释后补充。
特点:递减到0自动结束。且s+=i的执行是在本轮循环结束的时候。
倘若换成
for (int i=-10;i++;s+=i) {
则结果为:
-9
0
-8
-9
-7
-17
-6
-24
-5
-30
-4
-35
-3
-39
-2
-42
-1
-44
0
-45
sum_of_i = -45