为什么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输入多少啊,没道理死循环啊
我这边编译没有死循环,这应该是一个阶乘代码吧?