【发布时间】:2017-12-24 10:54:42
【问题描述】:
我有一个简单的程序,我想在其中打印矩阵次对角线中的所有元素 - 这些是数字 5、9、13、-21、12,但程序无法按预期工作。我做错了什么?
#include <iostream>
#define SIZE 5
int a[SIZE][SIZE]={
{1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15},
{100,-21,-70,345,77},
{12,17,765,98,55}
};
for(int i=0;i<5;i++)//The first index increases
for(int k=5;k>0;k--)//The second index decreases
cout<<a[i][k]<<endl;//Printing the element
【问题讨论】:
-
一些关于你的代码的cmets:如果你使用SIZE之类的东西,那么使用是一致的。它应该说
for(int i=0;i<SIZE;...。如果您稍后将 SIZE 更改为 4,您的 for 循环将迭代到错误的边界。此外,您应该始终使用缩进。而且我建议始终使用方括号,即使您只有一个命令 - 如果您稍后在忘记省略括号时添加另一个命令,事情就会变糟。