我有 2 个简单的函数,NxM 数组中的一个函数输入不包括 N+2 和 M+2。所以原始数组必须被零包围,而另一个输出整个数组。当调用 out 函数时,我有一个非常奇怪的输出:
但是当我将代码移动到主函数时,一切都很好。我尝试在 CodeBlocks 和 NetBeans 中编译此代码。行为是相同的。我不知道那里发生了什么。有人可以解释一下吗?
.....
int main()
{
int array[N+2][M+2]={{0}};
local_in(N,M,array);
local_out(N,M,array);
return 0;
}
void local_in(int len, int len2,int arr[][len2])
{
int i;
int j;
for(i = 1; i <= len; i++)
for(j = 1; j <= len2; j++){
scanf("%d",&arr[i][j]);
}
}
void local_out(int len, int len2,int arr[][len2])
{
int i;
int j;
for(i = 0; i < len+2; i++){
for(j = 0; j < len2+2; j++)
printf("%d ",arr[i][j]);
printf("\n");
}
}