c++ - 打印杨辉三角形为什么在for循环的条件中搞自增自减就错误
PHPz
PHPz 2017-04-17 15:01:43
0
1
590

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之前就没问题

PHPz
PHPz

学习是最好的投资!

全員に返信(1)
Ty80

配列の境界を越える方法がわかりませんか?

for (row = 0; row < 10; row++)
行 = 9 の場合

for (col = 1; col <= (++row); col++)
最初の ++ 列の最大値 10
a[10][10] インデックス範囲 0 ~ 9


あなたの本来の書き方は無限ループです

col <= (++row)

col++ but ++row が使用されるたびに、条件は常に満たされます

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート