为啥显示不出来呢?我读得是字符串啊!

char a[4][4];
a[3][3]='m';
a[3][2]='r';
puts(a[3]);
return 0;

a[3][0]得有值
a[3]默认指向a[3][0]
比如这样

#include <stdio.h>

int main()
{
    char a[4][4];
    a[3][0] = 'a';
    a[3][1] = 'm';
    a[3][2] = 'r';
    puts(a[3]);
    return 0;
}



#include<iostream>
using namespace std;

int main()
{
    char a[4][5] = {'1','1','1','1','\0','1','1','1','1','\0','1','1','1','1','\0','1','1','1','1' ,'\0' };
    a[3][3] = 'm';
    a[3][2] = 'r';
    puts(a[3]);
    return 0;
}

应该是没有结束符的问题

img


#include <stdio.h>
int main()
{
    char a[4][4];
    int j,k;
    for( j=0; j<4 ; j++)
        for( k=0; k<4 ; k++)
            a[j][k]='0';


    a[3][3]='m';
    a[3][2]='r';

    for( j=0; j<4 ; j++)
    {
        for( k=0; k<4 ; k++)
            printf("%c  ",a[j][k]);
        printf("\n");

    }
    puts(a[3]);
    return 0;
    printf("");
    return 0;
}