为什么for循环中n的数据类型是long long会出现死循环

为什么for循环中n的数据类型是long long会出现死循环
为什么for循环中n的数据类型是long long会出现死循环
为什么for循环中n的数据类型是long long会出现死循环
为什么for循环中n的数据类型是long long会出现死循环


#include<bits/stdc++.h>
using namespace std;

int main()
{
    int n;
    long long sum = 1;
    scanf("%d", &n);
    for (int i = 1; i <= n; ++i)
    {
        sum *= i;
    }
    printf("%lld\n", sum);
    return 0;
}

n的类型你定义的是int类型啊,
long long 类型的范围
2^64=1844 6744 0737 0960 0000
范围:-922 3372 0368 5477 5808 ~ 922 3372 0368 5477 5807 (922*10^16)

你n输入多少啊,没道理死循环啊

我这边编译没有死循环,这应该是一个阶乘代码吧?