我正在尝试在c中运行do循环,但条件似乎是相反的。这是我的代码:
#import <cs50.h>
#import <stdio.h>
int main()
{
int n;
do
{
n = get_int("Number: ");
}
while ((n < 23)&&(n >= 0));
printf("%i\n", n);
}
如果我输入52,它应该重新提示我,但它会打印出来。如果我将第一个条件的运算符切换到>
,它会重新提示我。然后我将第二个条件的运算符切换到>=
,并打印出任何数字。我可能误解了操作员,但我看上网了,他们似乎是正确的。
do { /* ... */ } while ((n < 23)&&(n >= 0));
这意味着在n < 23
和n >= 0
这个区块做点什么。
如果我输入52,它应该重新提示我,但它会打印出来。
对于n == 52
,显然n < 23
不满意,因此走出这个区域并执行printf()
。