求程序解读解决方案

求程序解读
main()
{
float n,s=0,t=1;
for(n=1;n<=20;n++)
 {
 t*=n;
 s+=t;
 }
printf("1+2!+3!...+20!=%e\n",s);
}
其中for语句中t*=n; s+=t;是怎么实现循环的,及其代表的含义

------解决方案--------------------
t*=n; -> t=t*n;//表示n!
s+=t; ->s=s+t;  //表示1+2!+...+n!之和

你在循环中打印一下每次循环后t,s的值
就能看出来他是怎么在循环的了
------解决方案--------------------
t*=n;  //n=1时,t=t*n=1*1=1
s+=t;  //n=1时,s=s+t=0+1=1

t*=n;  //n=2时,t=t*n=1*2=2
s+=t;  //n=1时,s=s+t=1+2=3
.......
如此重复下去,直到n=20