为什么它一直报错?
#include <iostream>
using namespace std;
int main() {
int n,i,j;
cin >> n;
int a[n][n];
for (i = 0; i < n; i++) {
a[i][0] = 1;
a[i][1] = 1;
}
for (i = 2; i < n; i++) {
for (j = 1; j < i; j++) {
a[i][j] = a[i - 1][j] + a[i - 1][j - 1];
}
}
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
可以给我点一下采纳吗?那将是对我最大的支持
#include <iostream>
using namespace std;
int main() {
int n,i,j;
cin >> n;
int a[n][n] = {0};
for (i = 0; i < n; i++) {
a[i][0] = 1;
a[i][i] = 1;
}
for (i = 2; i < n; i++) {
for (j = 1; j < i; j++) {
a[i][j] = a[i - 1][j] + a[i - 1][j - 1];
}
}
for (i = 0; i < n; i++) {
for (j = 0; j <= i; j++) {
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
可是它依然报错,不知道为什么
这个语法是有问题的,虽然我的编译器没有报错,你可以直接开成你可能用到的最大值,比如int a[100][100] = {0};
或者c++里应该有vector可以实现动态数组
好的~已经把n换成34就可以了,谢谢您的耐心解答!