社区讨论
关于结构体内开大数组的问题
学术版参与者 3已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 6 条
- 当前快照
- 1 份
- 快照标识符
- @lo2gfohu
- 此快照首次捕获于
- 2023/10/23 13:25 2 年前
- 此快照最后确认于
- 2023/10/23 13:25 2 年前
rt,起因是我在写矩阵快速幂时发现程序异常退出,程序如下:
CPP#include <iostream>
#define ll long long
using namespace std;
const int N=1010;
const ll mod=998244353;
ll n;
int m,cnt=100;
struct node
{
ll a[N][N];
}res,c;
node mul(node &x,node &y)
{
for(int i=1;i<=cnt;++i)
{
for(int j=1;j<=cnt;++j)
{
for(int k=1;k<=cnt;++k)
{
c.a[i][j]+=x.a[i][k]*y.a[k][j]%mod;
c.a[i][j]%=mod;
}
}
}
return c;
}
int main()
{
scanf("%lld%d",&n,&m);
res=mul(res,res);//此处去掉将不会异常退出
return 0;
}
在本地运行将无法输入n与m,而是会直接退出
1.为什么会产生此异常?似乎此代码全部变量都是全局变量
2.该如何解决?
回复
共 6 条回复,欢迎继续交流。
正在加载回复...