Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                        
                        2年前关闭。
                                                                                            
                
        
我有这个数组:

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 ++中的数组具有从0size - 1的有效索引。因此,如果要访问索引0 ... 3,则数组的大小必须至少为4

关于c - 如何动态地从数组中获取一个单元格值? [C89] ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53338954/

10-11 23:08
查看更多