我一般是 C++/编程的新手,所以我一直在尝试看看我能做什么和不能做什么,我遇到了一些看起来应该可以工作的东西,但事实并非如此。出于某种原因,当我将这两个数组放在任何函数之外以使它们公开时,它们就不会像公开一样工作。
当我将它们都放在我的主函数中时,代码工作得很好,但我也希望能够将它们用于其他函数。我编写它的方式是否有问题,或者我需要将两个数组都放在我希望它们工作的每个函数中?
编辑:预期的行为是输入一个数字 1-9 并接收一个字母 ai,然后在另一行将字母更改为 X。当数组放置在我希望它们工作的函数之外时,没有一个字母 ai如图所示,它会跳过该行并输出 X。当放在里面时,例如,如果我输入 4,“d”将输出,然后在下一行输出“X”。
#include <iostream>
using namespace std;
char pos[3][3] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'};
char pos2[] = {pos[3][3]};
char player = 'X';
int main()
{
int a;
for (int i = 0; true; i++)
{
cin >> a;
cout << pos2[a] << endl;
pos2[a] = player;
cout << pos2[a] << endl;
}
return 0;
}