我試圖編寫一個簡單的TicTacToe遊戲作爲一個練習從C++編程書。這應該完成而不使用指針或向量,因爲我只完成了數組章節。我在嘗試運行代碼時遇到了分段錯誤。這裏是我的代碼..分割錯誤字符數組
#include <iostream>
#include <string>
#include <math.h>
using namespace std;
void displayArray(char array[3][3]);
main()
{
char board[][3] =
{
{' ',' ',' '},
{' ',' ',' '},
{' ',' ',' '}
};
int p1;
int p2;
int j2;
int j1;
int i2;
int i1;
for (int i = 0; i < 9; i++)
{
if(pow(-1,i) == 1)
{
while (board[i1][j1] != ' ')
{
cout << "Player 1 insert your indices\n";
cin >> p1 ;
i1 = floor(p1%10);
j1 = p1%10;
}
board[i1][j1] = 'X';
}
else
{
while (board[i1][j1] != ' ')
{
cout << "Player 2 insert your indices\n";
cin >> p2 ;
i2 = floor(p2%10);
j2 = p2%10;
}
board[i1][j1] = 'O';
}
}
displayArray(board);
}
void displayArray(char array[3][3])
{
cout << "Board :\n" ;
for (int i = 0; i < 3; i++)
{
cout << array[i][0] << '\t' << array[i][2] << '\t' << array[i] [2] << '\n';
}
cout << '\n' ;
}
當您運行代碼時會發生什麼?什麼是潛在的例外和在哪一行? –
使用調試器,並通過您的代碼並找出問題的位置 – user7
它只是說當我運行代碼時的「分段錯誤」。編譯時不會出現錯誤或警告。 –