Zhang3.0 发表于 2021-10-31 22:31:10

笨蛋求助

为什么求和时计算结果的变量要初始化为零,求积要初始化为一

人造人 发表于 2021-10-31 22:44:28

求积要初始化为 0 的话
0 乘任何数都是 0

jackz007 发表于 2021-11-1 02:20:13

本帖最后由 jackz007 于 2021-11-1 02:25 编辑

      完全是由算法特性决定的,累加和阶乘都是借助循环实现的。
int leij(int n)
{
      int i , s                                 ;      
      for(s = 0 , i = n ; i > 0 ; i --) s = s + i ; // 如果 s 的初始值不为 0 你认为那还是 1 ~ n 的累加吗?
      return s                                    ;
}

int jiec(int n)
{
      int i , s                                 ;
      for(s = 1 , i = n ; i > 0 ; i --) s = s * i ; // 如果 s 的初始值为 0 的话,那最后的 s 铁定就是 0 值
      return s                                    ;   
}
页: [1]
查看完整版本: 笨蛋求助