哪位大神指教一下 result *= i;什么意思

#include

//求阶乘
long factorial(int n)
{
int i;
long result=1;
for(i=1; i<=n; i++)
{
result *= i;
}
return result;
}
// 求累加的和
long sum(long n)
{
int i;
long result = 0;
for(i=1; i<=n; i++)
{
//嵌套调用
result += factorial(i);
}
return result;
}

int main()
{
printf("1!+2!+...+9!+10! = %ld\n", sum(10));
return 0;
}

result *= i就是result = result * i
就是说result现在的值等于它之前的值乘以i
例如:假设resule现在的值是2,i的值是6
那么执行了result *= i之后result的值就会是12

操作符 *= , +=

a*=b
a=a*b

a+=b
a=a+b

执行效率更高!

就是 result=result*i;

result = result * i;

result = result * i;

类似 + - * / 同理

就是 前边的乘以后边的简写

result = result * i;

这是一种赋值运算=,+=,-=,*=,/=,&=,^=,\=,<<=,>>=
a = 2;<------->a = 2;
a *= 2<------->a = a * 2;
a <<= 2<---->a = a << 2;
.....

result = result * i

result=result*i

 result *= i;
 //意思是先计算resultxi
//计算完毕后将计算结果保存到变量result中