main() 関数から渡されたいくつかの整数ポインターを関数に取り、それらに値を割り当てようとしています。ただし、値を代入するとプログラムがクラッシュします。これが私のコードです:
int computeMoveLocation(int* r, int* c, char* board)
{
//some code up here
*r = 0; //This breaks the program
*c = 0;
}
ポインターのアドレスを変更しようとしているのではなく、指している整数の値を変更しようとしています。しかし、私は明らかに何か間違ったことをしています。
どんな助けでも大歓迎です。
編集: main() からの関連コードは次のとおりです。他にも何かを含めるべきかどうか教えてください。
int main()
{
//initialization code
//...
while (1)
{
switch (MACHINE_STATE)
{
case COMPUTER_MOVE :
{
//check rows for three Xs
//check columns for three Xs
//check diagonals for three Xs
//otherwise, move anywhere else
int *r, *c;
computeMoveLocation(r, c, board);
computerMove(*r,*c, board);
PREVIOUS_STATE = COMPUTER_MOVE;
MACHINE_STATE = HUMAN_MOVE;
break;
}
//Other cases
}//end switch
}//end while
}//end main