gpt4 book ai didi

c - 在 getch() 之后,即使在输入 1-6 之后,程序也会忽略 if。

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

我的代码有问题。它总是忽略if(userDigit<=6 && userDigit>=1).. 谁能告诉我这里出了什么问题?

        for(i=0; i<4; i++)
{
userDigit=getch();
putch(userDigit);

if(userDigit<=6 && userDigit>=1)
{
//code
}
else
{
correct=0;
}
}

if(correct == 0)
{
printf("wrong");
correct++;
}

最佳答案

getch() 返回一个 int 表示输入字符的编码值,而不是数字本身。

幸运的是,C 标准允许您编写

userDigit = getch() - '0';

转换为数字的实际数值。任何非数字输入都将超出范围 (0 - 9)。 (为避免疑义,'0' 是 C 中的 int 类型。)

这自然会破坏你的 putch 功能(粗略地说,你可以通过添加 '0' 来转换回来),但我怀疑你把它放在那里是为了调试目的,你可以安全地移除它。

关于c - 在 getch() 之后,即使在输入 1-6 之后,程序也会忽略 if。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47929500/

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