(0 <0)是否返回真?

时间:2010-04-19 01:16:55

标签: c# comparison integer

生病有一个if语句

if (int1 < int2)
{}
else
{}

如果int1和int2都为0,我希望运行else语句。

6 个答案:

答案 0 :(得分:11)

没有。 0不低于0

如何使用else if声明?

if (int1 < int2)
{
}
else if (int1 == 0 && int2 == 0)
{
}

答案 1 :(得分:9)

您的直接问题有几个答案,此页面上还有很多其他答案。但是还有一个更大的问题还没有得到解决:为什么你要把这个问题提交给一个网络论坛,无论有多少专家程序员填充它?

有一个很好的工具可以自动回答这些问题,而且你一直都在使用它:你的C编译器!你只需要正确地说出问题。

如果你有什么不明白的地方,试着整理一个小程序来测试一些逻辑并看看会发生什么。只需保留一个简单的模板(我喜欢〜/ tmp / hello_world.c)。当你有问题时,只需复制一份(比如〜/ tmp / zerotest.c),添加一些你想要尝试的功能(比如printf("Answer: %d\n", 0 < 0);),并运行它直到你明白发生了什么。< / p>

我一直这样做。即使我正在处理另一个项目,有时我会把大块的逻辑放到一个小文件中并在那里玩,直到我明白。这就是它的意义:找到一种有效的方法来自学一种语言。不要害怕尝试。你不太可能将某些东西打在一起会破坏你的系统。即使发生这种情况,我也相信你也可以从这种体验中学到一些东西。

养成尝试的习惯。这是你将在其余的编程生涯中使用的技能。

答案 2 :(得分:6)

(0 < 0)在逻辑上应该返回false,因为在两个相等的数字之间,一个不能小于另一个。 (0 <= 0)将返回true。

答案 3 :(得分:3)

目前,当两个整数均为0时,您的else子句将会运行。

如果你想要0被视为与int1&lt; int2然后

if( (int1 < int2) || (int1 == 0 && int2 ==0) )

但如果你只想要0&lt; 0去其他地方,它会...

或者你可能有一些代码,你认为应该转到你的“其他”,但是输入你的“if”,但是无法解决为什么会这样想知道0&lt; 0?在这种情况下,您的代码中可能会发生其他事情。

答案 4 :(得分:1)

不,(0 <0)返回false。

很难理解您在所呈现代码的上下文中提出的逻辑。

答案 5 :(得分:1)

当然,0==0 0<00>0

c#这样的编译语言中,您需要对每个变量使用比较运算符,如上面的答案中所述

if (int1 < int2)
{
}
else if (int1 == 0 && int2 == 0)
{
}

但是,如果您的案例是某些解释性语言,例如python,您可以使用简单的内联比较

if int1<int2:
     print "Less"
elif int1==int2==0:
     print "Equals to 0"