怎么理解如上程序?for循环

如何理解如下程序?for循环
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int i,s=0;
for(i=1;s<20;i+=2)
s+=i*i;
cout<<i<<endl;
cin.get();
return 0;
}
为什么这个程序运行结果是7啊?

------解决方案--------------------
for(i=1;s<20;i+=2) //判断条件写成s了
------解决方案--------------------
探讨
for(i=1;s<20;i+=2) //判断条件写成s了

------解决方案--------------------
s的值分别为:1,10,35
i的值分别为:1,3,5,7
s==35时跳出循环,i==7