gpt4 book ai didi

c - 输入值以在 c 中堆叠 2 维

转载 作者:行者123 更新时间:2023-11-30 16:32:22 26 4
gpt4 key购买 nike

我有这个代码

#include<stdio.h>
#include<conio.h>
#define MAXCOL 3
#define MAXROW 3

typedef struct {
int arr[MAXCOL][MAXROW];
}GAME;

void createGame(GAME *G){
int i, j;

for(i=0; i<=MAXCOL; i++){
for(j=0; j<=MAXROW; j++){
(*G).arr[i][j] = 0;
}
}
}

但是当我编译它时,输出看起来像这样

[0][0][0][0]
[0][0][0][0]
[0][0][0][-1]
[-1][1][0][0]

这怎么可能,-1、-1和1从哪里来?

最佳答案

如果名称 MAXCOL 和 MAXROW 可信(您想要第 3 列和第 3 行),那么您可以通过执行以下操作来修复它:

typedef struct {
int arr[MAXCOL+1][MAXROW+1];
}GAME;

这样,您实际上将为 4 (0,1,2,3) 行和 4 列分配足够的空间。

关于c - 输入值以在 c 中堆叠 2 维,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50187131/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com