gpt4 book ai didi

c - 无法在 C 中传递 2D char 数组(似乎仅传递第一个索引)

转载 作者:行者123 更新时间:2023-11-30 17:59:30 25 4
gpt4 key购买 nike

这是我编写的函数的一部分。传入文件[120][80],行和字符数组。

void Print(char File[120][80], int Lines, char* COMMAND) {
//Print whole file.
if (!spaces(COMMAND)) {
int i = 0;
for (i; i<Lines; i++) {
printf("%i===%s", i+1, File[i]);
}
}
}

运行结果(对于 4 行文件)是:

1===Line 1.
2===3===4===

所以看起来实际上只有第一个索引被传递。

最佳答案

问题可能在于您如何调用 Print 或初始化您传递的数组 - 如果我添加以下内容,它对我来说效果很好:

int spaces(const char *s) { return 0; }

int main()
{
char File[][80] = {
"Line1\n", "Line2\n", "Line3\n", "Line4\n"
};
Print(File, 4, "test");
return 0;
}

关于c - 无法在 C 中传递 2D char 数组(似乎仅传递第一个索引),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11377597/

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