怪异的数组字符串输出

时间:2016-11-09 15:48:41

标签: c arrays multidimensional-array

我是C的新手,我想创建一个带有输入的库,包括标题,作者和本书的出版年份。和输出是货架代码(缩短的标题),书籍代码(书名的第一个字母和作者的第一个字母),标题,作者和书的出版年份。如果我在标题中输入“C如何编程”,那么货架代码应打印“CHtP”。问题是,当我打印货架代码时,我的程序中会打印出奇怪的符号。请帮忙..

CXProviderConfiguration

1 个答案:

答案 0 :(得分:0)

问题是你永远不会终止shelf[][]中的字符串,而且你没有正确地将索引跟踪到shelf[i][]。 (你也不清楚你在哪里声明ij。)试试这个内循环:

for (i = 0; i < 2; i++)
{
    int k = 0;

    for (j = 0; j < strlen(title[i]); j++)
    {
        if (j == 0 || title[i][j - 1] == ' ')
        {
            shelf[i][k++] = title[i][j];
        }
    }

    shelf[i][k] = '\0';
}