求输出结果,详细解及思路 sum(5)=153 ?

#include<stdio.h>
int sum(int n)
{ int p=1,s=0,i;
for(i=1;i<=n;i++)
s+=(p*=i);
return(s);
}
void main( )
{ printf(“sum(5)=%d\n”,sum(5));
}

慕后森
浏览 305回答 2
2回答

泛舟湖上清波郎朗

int p=1,s=0,i;for(i=1;i<5;i++) //n=5,由main中的sum(5)给出{p = p*i; //s+=(p*=i);s = s+p;}return(s);现在能看明白了么?for中的s+=(p*=i)可以解释成p=p*i;s=s+p;两条语句。main中的sunm(5)是吧参数5带入sum函数中。

倚天杖

s += (p*=i)<=>p = p * i;s = s + p;其它也没有什么东西
打开App,查看更多内容
随时随地看视频慕课网APP