gpt4 book ai didi

c - 小段代码出现段错误(核心转储)错误

转载 作者:行者123 更新时间:2023-11-30 20:36:03 28 4
gpt4 key购买 nike

我有时会遇到上述错误,我知道这是由于以下代码造成的,但不知道可能是什么原因,因为我对 C 还很陌生。

struct Point playerPosition;
int counter = 0;
do {
playerPosition.x = rand() % mapLength;
playerPosition.y = rand() % mapHeight;
counter++;
printf("The current tile that is being tried is: %c\n", map[playerPosition.x][playerPosition.y]);
} while((counter < (mapLength*mapHeight)) && ((map[playerPosition.x][playerPosition.y] == '#') || (map[playerPosition.x][playerPosition.y] == 'P')));
printf("A tile was found at %d %d, with the tile being %c\n", playerPosition.x, playerPosition.y, map[playerPosition.x][playerPosition.y]);

最佳答案

您的示例代码中缺少某些部分,但问题很可能出在访问map上。 rand() 的定义也很重要。如果它提供 -1 到 1 之间的值,您最终会出现段错误。

使用valgrind和其他工具来获取更多信息,段错误的原因是什么。

关于c - 小段代码出现段错误(核心转储)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36848610/

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