我试图让一个函数获取一些从我的 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