为什么我的代码在VisualStudio中工作得很好,但在gcc编译器上给了我一个分段错误
我使用VisualStudio为一个项目编写代码,一切都很顺利。当我试图在gcc编译器上编译它时,它给了我一个分段错误 你能帮我找出是不是发生了这种情况,或者至少给我一个提示来找出是不是发生了这种错误 因为我不能在这里发布非常大的代码,如果您感兴趣,这里有一个链接:为什么我的代码在VisualStudio中工作得很好,但在gcc编译器上给了我一个分段错误,c,C,我使用VisualStudio为一个项目编写代码,一切都很顺利。当我试图在gcc编译器上编译它时,它给了我一个分段错误 你能帮我找出是不是发生了这种情况,或者至少给我一个提示来找出是不是发生了这种错误 因为我不能在这里发布非常大的代码,如果您感兴趣,这里有一个链接: pastebin.com/2kdl 编辑:我知道这是很难理解的代码,但请原谅我,我是一个乞丐 编辑:我猜问题一定是在210行之后,对于初学者来说,这 moves[i] = (int**)malloc(sizeof(int)*N)
pastebin.com/2kdl 编辑:我知道这是很难理解的代码,但请原谅我,我是一个乞丐 编辑:我猜问题一定是在210行之后,对于初学者来说,这
moves[i] = (int**)malloc(sizeof(int)*N);
应该是
moves[i] = (int**)malloc(sizeof(int*)*N);
或者更好,因为不太容易出错
moves[i] = (int**)malloc(N * sizeof *(moves[i]));
如果它真的是C(而不是C++),只需:
moves[i] = malloc(N * sizeof *(moves[i]));
这是代码上未定义行为的标志,例如访问超出界限的内存或修改字符串文本。但我不会去其他网站阅读你的代码。如果代码太大,那么将代码压缩到较小的大小并发布一篇文章。现在真的是阅读的时候了。还请学习如何创建一个。最后,请检查和。哦,天哪……真是个愚蠢的错误,非常感谢你,我不知道为什么我没有从报纸上看到这个错误