gpt4 book ai didi

c - 双维数组,属性值,但以后无法读取

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

我正在 child 之间传递值,并且需要存储一些值以供以后使用。

函数的定义和使用

char fouts[MAX_SIZE][10];

我为数组赋予值的函数:

void connect(char *nodo, char *out[], int nouts) {
(...)
for(i=0;i<nouts;i++) {
fouts[fnum][i] = out[i];
}
(...)

以及我尝试使用它们的函数:

void disconnect(char *nodo, char *remover){
char *outs[10];
nouts = fnouts[getfnum];
int m =0;
for(i=0;i<nouts;i++) {
if(strcmp(fouts[getfnum][i],nodo) != 0) { outs[m] = fouts[getfnum][i]; m++ ; }
}

无论我做什么来尝试修复每次它尝试执行最后一个,它都会给出段错误。

尝试过一些东西(例如直接读取 fouts[getfnum][0] 并给出段错误,但 fouts[getfnum] 给出“垃圾”)检查归属后的值 fouts[fnum][i] = out[i];在这里,它检查出来了,所以我想这部分没问题)。

不知道这是否是显而易见的事情,但是有什么帮助吗?

最佳答案

您正在混合 charchar*

fouts[fnum][i] is a char

out[i] is a char pointer

所以在这一行

fouts[fnum][i] = out[i];

您将一个char指针分配给一个char,这是非法的。

在这一行

if(strcmp(fouts[getfnum][i],nodo) != 0)

您将一个char(即fouts[getfnum][i])传递给strcmp

这是不合法的,因为strcmp需要一个char*

从发布的代码中,很难判断如何解决问题。也许您只需要:

char* fouts[MAX_SIZE][10];

关于c - 双维数组,属性值,但以后无法读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44099518/

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