为了使这尽可能快速和简洁,这是我的代码:
char* aiMove = getAIMove();
cout << aiMove;
cout << "\n" << numMoves << ": " << aiMove << "\n\n";
return aiMove;
这是我的输出:
a0 a1
0: �����������������������7
因此,第一行调用 getAIMove() 并将返回值 (char*) 分配给 aiMove。
第二行打印 aiMove (a0 a1)。
第三行将 numMoves 和 aiMove 带入 cout 并打印它,但它打印的是一些奇怪的值。
第 4 行返回 aiMove,我检查过它是打印的奇怪值。
为什么 aiMove 的价值发生了变化?它似乎只在我将一个整数值传递给 cout(在本例中为 numMoves)时发生。
请帮忙!谢谢,帕特里克:)
编辑:我忘了提到的另一件事是,这种奇怪的行为仅在第一次执行此代码块时发生,每次在程序期间运行时,它都可以正常打印。