2016-12-01 56 views
1

打印错误我初始化此二维数组:阵列用C

#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新手)

+8

什么是'kprintf'?用'printf'你的代码可以很好地工作。如果printf失败,只需'#include '在顶部。 – byxor

+0

或'putchar()'。 –

+5

显然,您的显示器需要CR(回车)以及LF(换行符,又名换行符)在行尾。在\ n之前加'\ r';应该生成你想要的显示作为快速修复。不过,这可能不是一个好的长期答案。 –

回答

1

变化kprintf("\n");kprintf("\r\n");

通常情况下,\n(新行)的作品本身。但由于某些原因,您需要\r(回车),无论您使用哪种硬件。

+0

传统上,CRLF序列是“\ r \ n” - - 在Windows文本文件和大多数Internet文本协议(例如http,smtp,ftp,...)中都可以找到。 –