【发布时间】:2018-08-07 19:44:29
【问题描述】:
我正在学习 c 编程初学者。在 while 循环阶段,我正在尝试使用 while 循环程序验证用户输入,根据我的预期工作得很好,除了一件事是每当用户输入无效值循环自行终止并且我试图保持询问用户,直到从用户那里获取有效值。这是我正在处理的代码。有人可以指导我完成这个吗?
#include <stdio.h>
int main(int argc, char const *argv[])
{
int num;
int sum;
bool flag = 0;
printf("Enter the value GREATER than 20 and LESS than 25: ");
scanf("%d", &num);
while ( num > 20 && num < 25 ) {
sum += num;
num++;
}
if ( num < 20 || num > 25){
flag = 0;
printf("Invalid\n");
}
else
printf("sum of your number is : %d \n", sum);
return 0;
}
【问题讨论】:
-
你需要在循环中移动
scanf。 -
@FiddlingBits 这是一个开始,但随后
num在未初始化时用于比较。必须将其设为do-while-loop。 -
另外,
sum +=num是个问题,因为sum未初始化。
标签: c