这可能与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];
这最终也起作用了......
事实证明,这不是我的问题,谢谢你的帮助
答案 0 :(得分:3)
您可以像这样分配。在这可能有一个垃圾字符可用
数组。首先,您要为所有人分配0
。
char a[10]={0};
然后将值分配给您需要的索引。
打印后使用%c
中的printf
。
for(; i < 3; i++)
printf("%c", a[i]);
您可以获得指定的值。