C语言关于字符数组问题。

哪个师师能帮忙解释一下?为啥我编的这个里面它显示不出来第14个"y"和它所对应的数组下标。来自学渣的无助

img

int main()
{
    char a[14];
    int k=0;
    do
    {
        scanf("%c",&a[k]);
        if(a[k] == ' ')
            continue;
        printf("%c",a[k]);
        printf("----------------");
        printf("%d\n",k);
        k++;
    }
    while(k<14);
}


把char a[14]改成char a[15]即可。
14就是14个char,也就是0-13,你这里0-12加上末尾的/0就是14个元素了。
所以你得把空间扩大成15.才是0-13这14个元素加上/0。