vs执行直接显示程序结束运行
#include<iostream>
using namespace std;
int main()
{
int row, col, a[10][10];
for (row = 0; row < 10; row++)
{
a[row][0] = 1; a[row][row] = 1;
for (col = 1; col <= (++row); col++)
{
a[row][col] = a[row - 1][col - 1] + a[row - 1][col];
}
for (col = 0; col <=(--row); col++)
{
cout << a[row][col] << "\t";
}
cout << endl;
}
return 0;
}
//问题在col <= (++row)和col <=(--row)
//把++row移到col = 1和--row移到col=0之前就没问题
配列の境界を越える方法がわかりませんか?
for (row = 0; row < 10; row++)
行 = 9 の場合
for (col = 1; col <= (++row); col++)
最初の
++
列の最大値 10a[10][10]
インデックス範囲 0 ~ 9あなたの本来の書き方は無限ループです
col <= (++row)
col++ but ++row が使用されるたびに、条件は常に満たされます