我目前的教學嘗試使用數組時自己的C++和遇到了一個問題:簡單數組操作錯誤?
我試圖做一個井字棋遊戲,用戶將輸入兩個整數公佈他想移動的位置,然後爲他們打印棋盤。
除此之外,當我嘗試一次修改我的主板,它往往會改變兩個值!
示例)如果我輸入的前四個數字是{0,1,1,0}
我期望繪製兩個字母 - 一個「x」和一個「o」。
但不是多個 「O」 s的畫!
謝謝你的幫助!
#include <string>
#include <iostream>
using namespace std;
string board[2][2];
int xpos, ypos;
string turn;
int main()
{
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 3; j++)
{
board[i][j]="-";
}
}
for(int i=0;i<9;i++)
{
if(i%2==0)
turn = "x";
else
turn = "o";
cout<< "Where are you moving?\n";
cin>> xpos >> ypos;
board[xpos][ypos] = turn;
cout<<"The board is:\n";
cout<< board[0][0]+board[0][1]+board[0][2]+ "\n";
cout<< board[1][0]+board[1][1]+board[1][2]+ "\n";
cout<< board[2][0]+board[2][1]+board[2][2]+ "\n";
}
return 0;
}
你要走出陣列。這是未定義的行爲。 – chris