笨蛋求助
为什么求和时计算结果的变量要初始化为零,求积要初始化为一 求积要初始化为 0 的话0 乘任何数都是 0
本帖最后由 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]