最近我做了一个程序,它有一个字符数组 board[8][8][2];
它基本上是一个8X8板,可以存储'2'字母字符串.我没有提供完整的代码.
但这是问题所在.
for (j = 0; j < 8; j++) {
strcpy(board[1][j], P[j].sym);
}
cout << board[1][1] << endl;
Run Code Online (Sandbox Code Playgroud)
这里P[1].sym="P1"与P[0].sym="P0"和P[2].sym="P2"
因此P[j].sym基本上是一个两个字母的字符串,board[1][j]也应该是一个两个字母的字符串.
但输出为
cout << board[1][1] << endl;
Run Code Online (Sandbox Code Playgroud)
给出为 P1P2P3P4P5P6P7
和输出
cout << board[1][0] << endl;
Run Code Online (Sandbox Code Playgroud)
给出为 P0P1P2P3P4P5P6P7
对于
cout << board[1][5] << endl;
Run Code Online (Sandbox Code Playgroud)
P5P6P7 是输出.
为了消除任何疑问,整个board[8][8][[2]已经初始化并且所有P[j].sym已经初始化.
如果它有帮助,这里是初始化的代码P:
#include <iostream>
#include <string.h>
using namespace std;
class Game
{
public:
char board[8][8][2];
char *****possibilities;
}; …Run Code Online (Sandbox Code Playgroud)