这是作业
我必须编写一款 TicTacToe 游戏,唯一剩下的问题就是格式化。这是我的矩阵函数,用户和计算机必须在其中输入 O 和 X。
void the_matrix() { // Like the movie
//Get rid of the underscores
int m;
printf("The current state of the board:\n");
for (m = 0; m < 3; m++) {
printf("%c_ %c_ %c_\n", table[m][0], table[m][1], table[m][2]);
}
printf("\n");
}
所以项目要求编译器像这样显示游戏(为了简单起见,我只显示第一行应该是什么样子。):
"_ _ _"[忽略引号]
然后用户在 (1,1) 位置输入 'O'
哦 _ _。
当我运行我的程序时它看起来像这样
哦_ _ _
我知道程序为什么这样做,因为我的 printf 语句将它设置为那样。但我的问题是如何将下划线与 O 或 X 交换,这样下划线就不会显示。
我们将不胜感激!
最佳答案
printf ("%c_")
将打印一个字符后跟一个下划线。
您需要的是 printf ("%c")
并且参数应该决定您是打印 O、X 还是下划线。
再三考虑,最简单的做法可能是初始化数组,使其在每个空间都有 _
,并且您的逻辑应该将其识别为“空”。然后你可以只打印出现在你的数组中的字符。
关于c - 用用户输入的字符替换下划线(在 C 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47502042/