C将数组索引分配给另一个

时间:2015-03-18 04:33:11

标签: c arrays

这可能与C指针有关,因为它是一个数组问题。

是否可以将一个数组的索引分配给另一个数组:

int main()
{
    char a[10];
    char b[3] = {'a', 'b', 'c'};
    int num = 1;
    a[1 + num] = b[0];

    int i = 0;
    for(i; i < 3; i++)
    printf("%s", a[i]);

    return 0;
}

我认为输出应该是什么样的。我认为是[(null),(null),a]

修改

说我在上面的代码中添加了一个int数组c:

int c[3] = {1, 2, 3};

当我尝试执行以下操作时,我在数组a中存储值时出现问题:

a[1 + c[0]] = b[0];

这最终也起作用了......

事实证明,这不是我的问题,谢谢你的帮助

1 个答案:

答案 0 :(得分:3)

您可以像这样分配。在这可能有一个垃圾字符可用 数组。首先,您要为所有人分配0

char a[10]={0};

然后将值分配给您需要的索引。

打印后使用%c中的printf

for(; i < 3; i++)
printf("%c", a[i]);

您可以获得指定的值。