课本上的一部分内容未看懂,新手求解
程序代码:float p=1,s=0;
int n,k;
for(k=1;k<=21;k=k+4)
{
for(n=1;n<=k;n++)
p=p*n;
s=s+p;
}课本上说“如果调试该程序,会发现计算结果有问题。原因在于变量p,当k为1时,p为1!,当k为2时,p为1!.5!,当k值发生变化时,变量p的初值应为1,执行:for(n=1;n<=k;n++)
p=p*n
变量p的值才能为k!”
求解,从“原因在于”看不懂









