我有这个数组:
array[0][0] = 1;
array[0][1] = 2;
array[0][2] = 3;
array[0][3] = 4;
我怎么能做这样的事情?
int a = 0;
int b = 1;
printf("%d",array[a][b]);
<小时/>
C89 是必需的。这是MCVE :
int main(int argc, char *argv[])
{
int array[0][4] = {1, 2, 3, 4}, i = 0;
for (i = 0 ; i < 4 ; i++)
{
printf("%d\n", array[0][i]);
}
return 0;
}
输出:
1512079328
32764
0
3
最佳答案
您的数组在第一维中至少需要 1 个,在第二维中至少需要 4 个。
int array[1][4];
// ^ ^
原因:C 和 C++ 中的数组具有从 0
到 size - 1
的有效索引。因此,如果您想访问索引 0
... 3
,数组的大小必须至少为 4
。
关于c - 如何动态地从数组中获取单元格值? [C89],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53338954/