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

浏览:43日期:2023-04-05

问题描述

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

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

问题解答

回答1:

你这个不是会数组越界的吗

for (row = 0; row < 10; row++)row = 9的时候

for (col = 1; col <= (++row); col++)先 ++ col 最大取值 10a[10][10] 索引范围 0-9

你原来的写法是死循环啊

col <= (++row)

每次 col++ 但是 ++row 了 那么条件永远满足

相关文章: