2015-10-18 54 views
-2

我有一个相对简单的程序,要求用户输入一个范围,然后使用Do-while循环检查它。在C中使用Do [查找错误]

int n; 
do 
{ 
print ("hello, world\n"); 
n = getvalue() //just making this syntax up.It takes value from user 
} 
while (n<0 && n>99); 
print ("%d\n",n); 

我想,如果他/她输入可能为负值或三位数字(或更高)的提示用户输入的另一值。但是,内部条件并未得到验证。

输出的样子:

无论输入怎样的数字,它得到的印刷。即-2被打印为-2,101为101而50为50.理想情况下,-2应提示用户再次输入一个数字,所以应打印出101和50。

+1

你意识到这是一个无限循环,对吗? –

+1

你在哪里给n赋值? – Marged

+0

发布代码的更多详细信息... – wrangler

回答

1

我认为这个问题是您相当模糊的n < 0 && n > 99,这不能合理满足。

你需要更仔细地看看你的循环的逻辑。如果要再次提示用户输入小于零的数字大于99,则需要使用逻辑运营商||

while (n < 0 || n > 99);