【发布时间】:2020-07-03 16:57:24
【问题描述】:
我有以下 C# 代码
int amount_guesses = 2;
int c_answer = 4;
int u_answer = 0;
Console.WriteLine("Guessing Game");
Console.WriteLine("*Hint:The number is between 1 and 5");
Console.WriteLine("*Hint:You only get 2 guesses");
while (u_answer != c_answer || amount_guesses != 0)
{
u_answer = Convert.ToInt32(Console.ReadLine());
amount_guesses = amount_guesses-1;
if (u_answer == c_answer)
{
Console.WriteLine("Well Done that is the Correct Number");
}
else
{
Console.WriteLine("Wrong Number!Try again.You have {0} trys left", amount_guesses);
}
}
Console.WriteLine("Press any key to close");
Console.ReadLine();
但是当while语句中的要求不满足时,它并没有跳出循环。
我也试过了
while ((u_answer != c_answer) || (amount_guesses != 0))
但是还是不行,我把逻辑改成这样结束了:
int amount_guesses = 2;
int c_answer = 4;
int u_answer = 0;
Console.WriteLine("Guessing Game");
Console.WriteLine("*Hint:The number is between 1 and 5");
Console.WriteLine("*Hint:You only get 2 guesses");
while (u_answer != c_answer && amount_guesses != 0)
{
u_answer = Convert.ToInt32(Console.ReadLine());
amount_guesses = amount_guesses-1;
if (u_answer == c_answer)
{
Console.WriteLine("Well Done that is the Correct Number");
amount_guesses = 0;
}
else
{
Console.WriteLine("Wrong Number!Try again.You have {0} trys left", amount_guesses);
}
}
Console.WriteLine("Press any key to close");
Console.ReadLine();
这很好,但我想知道为什么我在顶部使用|| 的代码不起作用?
【问题讨论】:
-
在任何语言中“或”(
||)和“和”(&&)的区别都是一样的(我希望这个或那个是真的 与 我希望这个和那个是真的)。除此之外,您的标题提到“多个 OR 语句”,但您的正文中只有一个 OR 语句 -
@Rafalon 很抱歉标题上的错字,
标签: c# while-loop or-operator