如何使这个C程序按要求运行如何使这个C
在判断输入的逻辑上还有些问题,之所以出现需要多输入一个回车的原因是你的WHILE判断中调用了两次getchar(),也就是说,如果第一次调用getchar()不满足大于'9'的判据,则还将再调用一次getchar()后判断其是否满足小于'0'的判据。
下面给出一个更合适的判断代码:
long num = 0;
ch = getchar();
while (ch != ' ' && ch != 0x0a) '只要不是空格和回车符就进行判断
{
if (ch >= '0' && ch <= '9')
num = num * 10 + ch - '0';
else
{
printf("输入不...全部
在判断输入的逻辑上还有些问题,之所以出现需要多输入一个回车的原因是你的WHILE判断中调用了两次getchar(),也就是说,如果第一次调用getchar()不满足大于'9'的判据,则还将再调用一次getchar()后判断其是否满足小于'0'的判据。
下面给出一个更合适的判断代码:
long num = 0;
ch = getchar();
while (ch != ' ' && ch != 0x0a) '只要不是空格和回车符就进行判断
{
if (ch >= '0' && ch <= '9')
num = num * 10 + ch - '0';
else
{
printf("输入不符合要求!请重输入::\n");
fflush(stdin);
num = 0; '必须清零
}
ch = getchar();
}。
收起