【发布时间】:2021-04-22 18:06:51
【问题描述】:
我是 C 新手,这是我第一个 C 项目的井字游戏。为此,我为用户设置了一个简单的过程来选择 X 或 O。但它似乎不起作用。在这里,它继续执行 if 语句并进入无限循环,因为它没有等待用户输入。
我已经浏览过关于这个确切问题的类似论坛,但我无法得到解决我问题的答案。此外,非常感谢有关代码的反馈,因为我确实想改进我的代码。
#include <stdio.h>
#include <stdlib.h>
void main()
{
char checks_player;
int is_input_valid = 0;
while(is_input_valid == 0)
{
printf("What do you want to choose? (X/O) ");
scanf(" %c",checks_player);
if(checks_player == 'x')
{
checks_player = 'X';
is_input_valid = 1;
}
else if(checks_player == 'o')
{
checks_player = 'O';
is_input_valid=1;
}
else if((checks_player == 'O')|| (checks_player == 'X'))
{
is_input_valid = 1;
}
else
{
printf("Invalid Input!!\nTry Again.\n\n");
}
}
}
【问题讨论】:
-
检查编译器警告是个好主意,可以准确地告诉你问题
-
令人惊讶的是,编译器没有警告指针缺失。
-
因为你需要启用警告
标签: c scanf tic-tac-toe