gpt4 book ai didi

c - 为什么消息打印两次?

转载 作者:行者123 更新时间:2023-12-04 12:12:17 24 4
gpt4 key购买 nike

我正在为 C 创建一个简单的 Tic Tac Toe,这是一个我遇到问题的特定函数。这应该让用户选择“X”或“O”,并且对于大多数艺术作品来说都是如此。但是,如果我输入了错误的符号,它会打印以下语句:
“无效符号,请重新输入:”两次。

为什么和怎么样我可以解决这个问题吗?

char assign(void)                                 
{
char user;

printf("Would you like to be X or O (Enter your choice): ");
user=getchar();
while(user != 'X' && user != 'x' && user != 'O' && user != 'o')
{
printf("Invalid symbol, please re-enter: ");
user=getchar();
}
if(user == 'O' || user == 'o') return('O');
else if(user == 'X' || user == 'x') return('X');
}

最佳答案

问题原因与换行符有关

使用 scanf()以这种方式而不是使用 getchar()

scanf(" %c", &user);

关于c - 为什么消息打印两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17898412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com