|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
int main()
{
int a[4][5] = {
{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20}};
int i, j;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 5; j++)
{
printf("%2d ", a[i][j]);
if (i + j == 3)
{
printf("\n");
}
}
}
printf("\n");
return 0;
}
输出:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
if这个判断设立的初衷应该是想在这里用一个if来让a[4][5] 这个数组以五行四列的形式来输出。这里我有一个地发不懂的是:
a[0][4](注意这个a[0][4]是要移动到下一行,所以当上面到>了a[0][3]的时候就要换行。同理下面到了a[1][3],a[2][3])
a[0][3] 这个时候是满足if判断了键的所以换行了,但是到了后面1+3 !=3 2+3!=3 这里是怎么做到换行的呢?
谢谢!
这个问题很简单啊,自己将数组下标写出来不就知道了嘛~~~
相当于把四行五列的数组以五行四列的形式输出。换行的时候下标就是a[0][3],a[1][2],a[2][1],a[3][0]。而不是你所想象的每行的第三个换行。你再看看是不是这么个道理~~
|
|