读书人

关于溢出处理的有关问题

发布时间: 2012-02-25 10:01:48 作者: rapoo

关于溢出处理的问题
using System;
class Factorial
{
public static void Main(string[] args)
{
long nFactorial=1;
long nComputerto=Int64.Parse(args[0]);
long nCurDig=1;
for(nCurDig=1;nCurDig <=nComputerto;nCurDig++)
checked{nFactorial*=nCurDig;}
Console.WriteLine( "{0}!Is{1} ",nComputerto,nFactorial);
}
}

这是一个计算阶乘的例子,程序运行后报错了,我不明白 long nComputerto=Int64.Parse(args[0]);这句是什么意思....

还有这个数组没有赋值啊,所以long nComputerto应该也没有值啊,为什么会造成溢出呢?

不好意思,我初学,还望大家多多关照!谢谢啦!

[解决办法]
long nComputerto=Int64.Parse(args[0]);
---------------------------------
args[0] 是用户在Cmd命令后添加的参数:比如exe 30

些时的nComputerto = 30;
[解决办法]
你应该在命令行下运行这个程序

如果你是在VS2005的环境中,请点击菜单

项目 -- [你的项目名]属性 -- 调试 -- 启动选项 -- 命令行参数 后面输入一个值

读书人网 >C#

热点推荐