答:main 函数及 factorial 函数中的 sum 没有初始化,不可能有正确的结果,在 main 函数中应该 sum=0 初始化,在 factorial 函数中应该 sum=1 初始化。此外还要注意溢出问题,32位系统的 int 类型数据的最大值是:2147483647。