c语言 s*=n--什么意思?
请解释一下程序,各种多谢大神。。。intf(intn)//【这函数f的n是啥?数值吗?】{staticints=1;//【这里的静态变量是干什么的?】while(n)s*...
请解释一下程序,各种多谢大神。。。
int f(int n) //【这函数f的n是啥?数值吗?】
{static int s=1; //【这里的静态变量是干什么的?】
while(n)
s*=n-- //【这句什么意思?】
}
main()
{int i,j;
i=f(3);j=f(5); //【还是上面的问题。。n哪儿来的呀?】
printf('%d,%d,%d,%d',i,j,s,n); //【原题是只让输出i,j,但是我不明白这里s和n是怎么变化的?所以想输出一下。。】
}
while(n) s*=n--;后面有个return s;嗷嗷忘打啦! 展开
int f(int n) //【这函数f的n是啥?数值吗?】
{static int s=1; //【这里的静态变量是干什么的?】
while(n)
s*=n-- //【这句什么意思?】
}
main()
{int i,j;
i=f(3);j=f(5); //【还是上面的问题。。n哪儿来的呀?】
printf('%d,%d,%d,%d',i,j,s,n); //【原题是只让输出i,j,但是我不明白这里s和n是怎么变化的?所以想输出一下。。】
}
while(n) s*=n--;后面有个return s;嗷嗷忘打啦! 展开
1个回答
2016-11-27
展开全部
s*=n--; //【这句什么意思?】
和
s*=n; 等价,即是s=s*n;
后面的,得报错
和
s*=n; 等价,即是s=s*n;
后面的,得报错
追问
啊,话说刚才试了一下,果然不能输出s和n。。输出i是6,j是720,不懂。。。
话说那个s咋也输不出来啊?
ps:我刚才加了一句return s;刚才忘打了。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询