这个阶乘为啥不能成功计算 可以运行

  1. img

img


不知道为什么 我自己在纸上按着程序运算 是可以进行的 答案也对 可是就是运行不了

while(n>=i),但你初始时n为1,你觉得n>=i能成立吗?改成n<=i

你这个while根本就进不去,判断条件写错了,把他们交换位置就好了

#include <stdio.h>

int main()
{
    double a=1,i,n=1;
    scanf("%lf",&i);
    while (i >= n){
        a*=n;
        n+=1;
    }
    printf("%lf",a);
    return 0;
}