yushan__
2021-09-13 23:38
采纳率: 100%
浏览 68

c语言入门-for语句n的阶乘

#include <stdio.h>

int main()
{
int n,i;
scanf("%d",&n);

for(i=1;i<n;i++){
    n*=i;
}
printf("%d\n",n);

}

为什么算不出n的阶乘的结果?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 我秃了,但没强 2021-09-14 09:49
    已采纳

    因为你的for循环里判断条件用了 i < n,而这个 n 又在循环体里做了运算,n 会越来越大直到溢出,i<n的条件就不会正确达成,两个地方不用同样的变量就可以了

    评论
    解决 1 无用
    打赏 举报
查看更多回答(2条)

相关推荐 更多相似问题