찾다

 >  Q&A  >  본문

c++ - 打印杨辉三角形为什么在for循环的条件中搞自增自减就错误

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

PHPzPHPz2804일 전588

모든 응답(1)나는 대답할 것이다

  • PHP中文网

    PHP中文网2017-04-17 15:03:43

    배열 경계를 넘는 방법을 모르시나요?

    for (row = 0; row < 10; row )
    행 = 9인 경우

    for (col = 1; col <= ( row); col )
    첫 번째 열 최대값 10
    a[10][10] 색인 범위 0-9


    당신의 원래 글쓰기 방식은 무한 루프입니다

    col <= ( row)

    col 이지만 row를 사용할 때마다 조건은 항상 만족됩니다

    회신하다
    0
  • 취소회신하다