一个数组越界问题,没看懂
long nfact = 1;
long ncom = Int64.Parse("2000");
long ncur = 1;
for (ncur = 1; ncur <= ncom; ncur++)
{
checked
{
Console.WriteLine(ncur);
nfact *= ncur;
}
}
Console.WriteLine("{0}! is {1}",ncom,nfact);
为什么运行到21,算数计算过程越界
------解决方案--------------------首先哪有数组越界,明显是数值溢出,超过long,Maxvalue。 你这是求阶乘。