codeblocks编的C++程序可以编译,但是运行什么都不显示,回车就退出了
源码.h.cpp都在百度网盘http://pan.baidu.com/share/link?shareid=350649472&uk=404681303...
源码 .h .cpp都在百度网盘
http://pan.baidu.com/share/link?shareid=350649472&uk=404681303 展开
http://pan.baidu.com/share/link?shareid=350649472&uk=404681303 展开
展开全部
main函数里初始化棋盘是这样写的
for(i=0; i<=N; i++)
{
for(j=0; j<=N; j++)
{
qipan.name[i][j]=0;
}
}
这回造成数组访问越界。应该写作i<N和j<N。
追问
运行是可以了,不过到下棋那一步又出现问题了,能帮忙改一下吗?
追答
Qipan::win()函数中“判断右到左斜方向是否有5个”的三重循环里,最内层循环写错为“k=5”了,应该是"k<5"。
还有output函数,在没有人赢棋的时候会返回未赋值的win。建议去掉第二个参数win,(即int output(int count[8]))然后第一行改为int i,j, win=1;其余不动。
还有 你win函数的整体逻辑有问题,四种情形顺序判断并覆盖前一种情形的output返回值,最终等效于只返回最后一种情形的win值。但实际上应该是一旦有一个情形win是0就返回0。这个你可以自己改一下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询