coura 发表于 2021-10-9 21:30:14

S1E20:二维数组课后测试题第0题

#include <stdio.h>

int main()
{
        int a = {
                {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);
                        if (i + j == 3)
                        {
                                printf("\n");
                        }
                }
        }
        printf("\n");
       
        return 0;
}

有一处不明白:
if(i + j == 3)这里,表示什么意思?
我这么理解:
在, , 和处换行,但是是错的。

wp231957 发表于 2021-10-9 21:34:57

目测是每行输出④个数据

大马强 发表于 2021-10-9 21:44:54

没错呀就是你想的那样

大马强 发表于 2021-10-9 21:46:00

你看下每一行末尾的坐标,就是这样滴,打印一个4x5的数组

coura 发表于 2021-10-9 21:48:41

wp231957 发表于 2021-10-9 21:34
目测是每行输出④个数据

那个,是为啥呀,大神{:10_266:}

wp231957 发表于 2021-10-10 07:47:41

coura 发表于 2021-10-9 21:48
那个,是为啥呀,大神

没有为啥,只能说这个题目是个特例
其实,断行还有其他办法,你可以自行研究一下

coura 发表于 2021-10-10 08:58:00

wp231957 发表于 2021-10-10 07:47
没有为啥,只能说这个题目是个特例
其实,断行还有其他办法,你可以自行研究一下

好的,谢谢
页: [1]
查看完整版本: S1E20:二维数组课后测试题第0题