C中的阵列打印错误

时间:2016-12-01 19:43:12

标签: c linux-kernel printf

我初始化了这个2D数组:

#define ROW 3
#define COL 2

int _main_(void)
{

    char a[ROW][COL]=
    {
    {'@', '.'},
    {'.', '.'},
    {'.', '.'}
    };

我把它打印成:

    int i,j;
    for (i = 0; i < ROW; i++) {
        for (j = 0; j < COL; j++) {
            kprintf("%c", a[i][j]);
        }
            kprintf("\n");
    }

输出:

@.
  ..
    ..

但我希望它是:

@.
..
..

我做错了什么? (C新手)

1 个答案:

答案 0 :(得分:1)

kprintf("\n");更改为kprintf("\r\n");

通常\n(换行符)自行运行。但出于某种原因,对于您正在使用的任何硬件,您都需要\r(回车)。