使用2d数组时C代码出错

使用2d数组时C代码出错,c,multidimensional-array,C,Multidimensional Array,我试图实现这个简单的代码(没有这样的算法) 所以这里前两个元素是m,n,即行和列的数量。然后对于m行,有n个元素。我将这些元素存储在2d数组a中。然后我打印这个数组。它给出了正确的答案。然后我制作新的数组adj[m*n][m*n]。我将此数组初始化为-1。之后,当我将A数组打印回来时,A的前五个元素也变为-1。我没有更改A的值。为什么会发生这种情况。这是我得到的输出- Before initialization array A = 2 3 2 2 5 1 5 3 1 3 1 1 Afte

我试图实现这个简单的代码(没有这样的算法)

所以这里前两个元素是m,n,即行和列的数量。然后对于m行,有n个元素。我将这些元素存储在2d数组
a
中。然后我打印这个数组。它给出了正确的答案。然后我制作新的数组
adj[m*n][m*n]
。我将此数组初始化为
-1
。之后,当我将
A
数组打印回来时,
A
的前五个元素也变为-1。我没有更改
A
的值。为什么会发生这种情况。这是我得到的输出-

Before initialization array A =
2 3 2 
2 5 1 
5 3 1 
3 1 1 
After initialization array A =
-1 -1 -1 
-1 -1 1 
5 3 1 
3 1 1 

您需要知道的是,在C/C++中,数组从0开始到数组长度-1。在循环的
中更改此项,然后查看发生了什么情况您需要知道的是,在C/C++中,数组从0开始到数组长度-1。在循环的
中更改此项,然后查看发生了什么情况您需要知道的是,在C/C++中,数组从0开始到数组长度-1。在循环的
中更改此项,然后查看发生了什么情况您需要知道的是,在C/C++中,数组从0开始到数组长度-1。在循环的
中更改此项,然后查看发生了什么C使用基于0的索引。因此,数组的有效索引从0开始,以长度-1结束

这意味着您必须修改循环。这:

for(i=1;i<=m;i++)

for(i=1;iC使用基于0的索引。因此,数组的有效索引从0开始,以长度-1结束

这意味着您必须修改循环。这:

for(i=1;i<=m;i++)

for(i=1;iC使用基于0的索引。因此,数组的有效索引从0开始,以长度-1结束

这意味着您必须修改循环。这:

for(i=1;i<=m;i++)

for(i=1;iC使用基于0的索引。因此,数组的有效索引从0开始,以长度-1结束

这意味着您必须修改循环。这:

for(i=1;i<=m;i++)
for(i=1;i“我正在尝试实现这段代码”。不,你没有实现代码。你用代码实现一个算法,一个想法,任何东西。如果你有代码,它已经实现了,即使它没有做你需要的。“我正在尝试实现这段代码”.不。你不实现代码。你用代码实现一个算法,一个想法,任何东西。如果你有代码,它已经实现了,即使它没有做你需要的。“我正在尝试实现这个代码”.不。你不实现代码。你用代码实现一个算法,一个想法,任何东西。如果你有代码,它已经实现了,即使它没有做你需要的。“我正在尝试实现这个代码”.不。你不实现代码。你用代码实现一个算法,一个想法,任何东西。如果你有代码,它已经实现了,即使它没有做你需要的。