【发布时间】:2020-04-20 07:05:33
【问题描述】:
所以我有这个代码,它应该使用一个函数来获取二维数组中的所有数字并将它们打印到二次方,但是我的代码不断抛出分段错误,我不知道为什么
#include <bits/stdc++.h>
using namespace std;
void er(int arr[][100000000], int, int);
int main()
{
int n, m;
cin >> n >> m;
int arr[n][100000000];
er(arr, n, m);
return 0;
}
void er(int arr[][100000000], int n, int m)
{
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> arr[i][j];
arr[i][j] *= arr[i][j];
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << arr[i][j];
}
}
}
【问题讨论】:
-
for(int j=0;j<m;i++)应该是for(int j=0;j<m;j++) -
我已经解决了这个问题,但它一直在抛出分段错误
-
你解决了这两个问题吗?
int arr[n][100000000];也不是标准 C++,你应该使用std::vector<std::vector<int>>来代替 -
int arr[n][100000000]不是有效的 C++,因为n不是编译时常量。 -
#include <bits/stdc++.h> using namespace std;现在。
标签: c++ function segmentation-fault