これをできるだけ速く簡潔にするために、これは私のコードです:
char* aiMove = getAIMove();
cout << aiMove;
cout << "\n" << numMoves << ": " << aiMove << "\n\n";
return aiMove;
そしてこれは私の出力です:
a0 a1
0: �����������������������7
したがって、最初の行はgetAIMove()を呼び出し、戻り値(char *)をaiMoveに割り当てます。
2行目はaiMove(a0 a1)を出力します。
3行目は、numMovesとaiMoveをcoutに取り込んで出力しますが、代わりに奇妙な値を出力しています。
4行目はaiMoveを返します。これは、印刷された奇妙な値であると私が調べたものです。
aiMoveの値が変更されたのはなぜですか?これは、整数値をcout(この場合はnumMoves)に渡した場合にのみ発生するようです。
助けてください!ありがとう、パトリック:)
編集:私が言及するのを忘れたもう1つのことは、この奇妙な動作は、このコードブロックが初めて実行されたときにのみ発生し、プログラム中に実行されるたびに正常に出力されることです。