如何讓玩家能夠輸入一個座標(x,y)(1,2),同時還能夠選擇輸入字符如'c'或's'?我該如何使用scanf輸入座標,如果需要在此功能中還需要一個字符
我可以將x改爲char,然後使用%c作爲第一個輸入,然後讓if(x =='1')x = 1等等,但它仍然會給我分段錯誤,因爲它需要掃描y的東西。我怎樣才能解決這個問題?
matrix[][]
是一個全局char二維數組。
void updateTablePlayer1(void)
{
int y, x;
printf ("Enter a command for player 1 ([row,col], c, s, p):");
scanf ("%d,%d", &x, &y);
x--;
y--;
if (matrix[x][y]!= ' ')
{
printf ("Invalid selection\n");
updateTablePlayer1();
{
else if (x == 'c')
{
createClearTable();
displayTable();
updateTablePlayer1();
}
else if (x == 's')
{
displayTable();
updateTablePlayer1();
}
else if (x == 'p')
{
displayTableImage();
updateTablePlayer1();
}
else
matrix[x][y] = 'X';
}
使用'scanf'的返回值。 – Dan