生病有一个if语句
if (int1 < int2)
{}
else
{}
如果int1和int2都为0,我希望运行else语句。
答案 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<0
或0>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"