社区讨论

关于结构体内开大数组的问题

学术版参与者 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 条回复,欢迎继续交流。

正在加载回复...