(0 < 0)返回true吗?

4

我将有一个if语句。

if (int1 < int2)
{}
else
{}

我希望如果int1和int2都为0,else语句将会被执行。

11
你有没有试过 0 < 0? - Craig Gidney
5
请解释为什么要踩这个问题。SO是为所有层次的程序员准备的,如果你只是认为问题太简单而踩它,那么你可能没有理解该网站的意图。对一些人来说,某些问题可能看起来很愚蠢,但对其他人来说并非如此。例如,我从70年代末就开始编程了,但我的F#问题很可能是非常入门级别的。 - paxdiablo
6
我以为那是一个表情符号。 - John K
4
当我在 .NET 中遇到“这个做什么”的问题时,通常会启动 LINQPad 并尝试它。快速、简便、免费。http://www.linqpad.net/ - TrueWill
7
“0 < 0”的结果是否为true的答案是:(0<0)? "Yes": "No"。但如果您的问题如此基础,只需在if语句中插入一些代码以输出“Yes”,在else语句中输出“No”。调试是学习的重要技能。 - Ponkadoodle
显示剩余5条评论
6个回答

11

不是的。 0 不小于 0

使用 else if 语句怎么样?

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

9
你有几个直接问题的答案,而且这个页面上还有很多其他的答案。但是还有一个更大的问题尚未得到解决:为什么你会向一个网页论坛提出这个问题,无论这里有多少专家程序员?
其实,你可以利用一个非常好的工具来自动回答这样的问题,那就是你的C编译器!你只需要正确地表达问题即可。
如果有什么你不理解的地方,试着写一个小程序来测试一些逻辑并查看发生了什么。只需保留一个简单的模板(我喜欢~/tmp/hello_world.c)。当你有一个问题时,只需复制一份(比如~/tmp/zerotest.c),添加一些你想要尝试的功能(比如printf("Answer: %d\n", 0 < 0);),然后运行它,直到你明白发生了什么。
我经常这样做。即使我在处理另一个项目时,有时我也会将一些逻辑块提取到一个小文件中,在那里进行测试,直到我理解为止。这就是关键:找到一种有效的方法来教自己一门语言。不要害怕尝试。你极不可能拼凑出什么会摧毁你的系统的东西。即使发生了这种情况,我相信你也能从中学到一些东西。
养成尝试的习惯。这是你在整个编程生涯中都会用到的技能。

6

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


3

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

如果您希望将0视为与int1 < int2相同,则

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

但是如果你只想让0 < 0进入else,它将...... 或者你可能有一些代码,你认为应该进入你的“else”,但却进入了你的“if”,但是无法弄清楚原因,所以想知道0 < 0是否成立?在这种情况下,你的代码中可能正在发生其他事情。

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"

1

不,(0<0) 返回 false。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接