C Do 循环错误解释条件
C Do loop misinterpreting conditions
我正在尝试 运行 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
.
时在该块中执行某些操作
If I input 52, it should re-prompt me, but it prints it.
对于n == 52
,显然n < 23
不满足,于是跳出此块执行printf()
。
我正在尝试 运行 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
.
If I input 52, it should re-prompt me, but it prints it.
对于n == 52
,显然n < 23
不满足,于是跳出此块执行printf()
。