C代码 - 将int和char存储到2d数组中

时间:2017-11-11 21:51:31

标签: c arrays char int 2d

我非常喜欢编程,请注意,如果你可以教我哪里出错或者我可以添加到我的代码中。我可以在同一个数组上添加int和char值吗?或者我需要使用其他方法?

int main()
    {
        int i, j=1;
        int row, col;
        char x = 'x';
        char matrix[5][8]={
                          {x,0,0,0,0,0,0,0},
                          {0,x,0,0,0,0,0,0},
                          {0,0,x,0,0,0,0,0},
                          {0,0,0,x,0,0,0,0},
                          {0,0,0,0,x,0,0,0}
                          };   

        for(row=0;row<5;row++)
        {
            p(" A%i",j++);
            for(col=0;col<8;col++)
            {
                p(" %7i",matrix[row][col]);
            }

            p("\n");
        }
        return 0;
    }

这是输出

 A1     120       0       0       0       0       0       0       0
 A2       0     120       0       0       0       0       0       0
 A3       0       0     120       0       0       0       0       0
 A4       0       0       0     120       0       0       0       0
 A5       0       0       0       0     120       0       0       0

输出为120而不是&#39; x&#39;值。 请帮帮我。 我希望输出看起来像这样

 A1       x       0       0       0       0       0       0       0
 A2       0       x       0       0       0       0       0       0
 A3       0       0       x       0       0       0       0       0
 A4       0       0       0       x       0       0       0       0
 A5       0       0       0       0       x       0       0       0

2 个答案:

答案 0 :(得分:0)

您的print语句看起来不正确。我认为你使用了错误的说明符 - 我而不是c。

p(" %7c",matrix[row][col]);

我假设p == printf以这种或那种方式。当我更改格式化程序时,我得到:

 A1       x                                                 
 A2              x                                          
 A3                     x                                   
 A4                            x                            
 A5                                   x                     

答案 1 :(得分:0)

您应该使用%c来打印字符。 %i是goint以显示它的数字表示。

p("%7c", matrix[row][col]);