C语言新手问个问题
首先展示一下我的代码#include<stdio.h>
int main()
{
int m,n[10],i,j,s=1;
scanf("%d",&m);
for(i=0;i<m;i++)
scanf("%d",&n[i]);
for(i=0;i<m;i++)
{
for(j=1;j<n[i];j++)
s=s*(j+1);
printf("%d\n",s);
s=1;
}
return 0;
}
当我输入
3
1
2
5
输出为
1
2
120是正确答案
但是当代码为这样
#include<stdio.h>
int main()
{
int m,n[10],i,j,s=1;
scanf("%d",&m);
for(i=0;i<m;i++)
scanf("%d",&n[i]);
for(i=0;i<m;i++)
{
for(j=1;j<n[i];j++)
s=s*(j+1);
printf("%d\n",s);
//s=1; 删除这行代码
}
return 0;
}
时输出结果却是
1
2
240
求教这是为啥? 求高手指点