【发布时间】:2024-05-03 19:20:03
【问题描述】:
不久前你帮我读了一行。现在,我只想从输入中读取数字 - 没有字母,只有 5 位数字。我该怎么做?
我的解决方案无法正常工作:
int i = 0;
while(!go)
{
printf("Give 5 digits: \n\n");
while( ( c = getchar()) != EOF && c != '\n' && i < 5 )
{
int digit = c - '0';
if(digit >= 0 && digit <= 9)
{
input[i++] = digit;
if(i == 5)
{
break;
go = true;
}
}
}
}
【问题讨论】:
-
"没有字母,没有数字,只有数字" - 数字不是数字吗?
-
@PaulD.Waite:是的,我不知道如何解释:)
-
您能告诉我们您的代码发生了什么吗?这样更容易诊断。
-
如果一个数字和一个数字是同一个东西,那么说“没有数字,只有数字”绝对不是解释它的方式。如果与您的问题相关的数字和数字之间存在区别(这似乎更有可能),请解释一下。
-
if(i == 5) { break; go = true; }go=true;无法到达。顺便说一句:这应该是 循环条件
标签: c input error-handling user-input