![]() |
1
23
“1”等于“1”。 “0”在“2”之前(所以“1040”<“12000”)。 “4”在“0”之后(所以“1040”>“10000”)。 |
![]() |
2
6
按字母顺序思考。 |
![]() |
3
6
这里描述这种排序的花哨词是”
lexicographical order
(有时是“字典顺序”)。在日常语言中,我们只是把它称为“字母顺序”。这意味着我们首先在字母表上排序(
示例:字母表上的“自然”顺序
在以前,在Unicode之类的东西出现之前,我们符号上的排序只是对ASCII字符代码的排序。那么我们有了
现在,这意味着如果我们想比较
这里的关键是这些是字符串,没有数字意义;它们只是符号,我们对符号有一定的排序。也就是说,如果我们替换了
|
![]() |
4
4
从左到右比较字符串,一次一个字符:
比较不同长度的字符串没有什么错。 |
![]() |
5
4
你正在经历 lexicographical ordering .
有
some generalized algorithms
为了这本书的订购
Elements of Programming
. 搜索单词
|
![]() |
6
2
它按字符对“数字”进行比较。在第一种情况下,“1”==“1”,然后是“0”<“2”,以ASCII(和整数)表示,因此它返回true。 在第二种情况下,1==1,0==0,但4>0,因此返回false。 比较不同长度的弦没什么错…但您应该使用适当的字符串比较方法。 |
![]() |
7
1
在C语言中,字符串比较是逐字符进行的。在第一种情况下,尖刺的第一个字符是相等的,因此它归结为第二个字符:“0”是<'2',所以“1040”<“12000”。在第二种情况下,字符串的前两个字符相等,因此第三个字符是基础--“4”>“0”,所以“1040”>“10000”。 如果要将它们作为数字进行比较,则需要先将它们转换为数字,然后再进行比较。 |
![]() |
8
1
要扩展约翰·P的答案,请将字符串视为单词,然后从左到右阅读它们。 换个角度来看, Baea会在BCAAA之前,但在Baaa之后 |
![]() |
9
0
它比较每个字符,因为您正在比较字符串。如果要比较这些数字,请将它们设为数字类型。 |
![]() |
10
0
“10000”<=“1040”<=“12000”与“捏造”<=“事实”<=“愚蠢”的方式相同。 |
![]() |
11
0
把它们做成同样的长度怎么样? 这将统一数字和阿尔法 1040变为01040 01040<12000现在有意义了 也许这就是为什么他觉得比较不同长度的弦是错误的。 当字符串是数字时,它们的长度应该相同 |
![]() |
ridiculous_fish · std::是否保证短路? 2 年前 |
![]() |
Hilde Schneider · php对我的if条件有问题 7 年前 |
![]() |
user8188120 · 熊猫用np标记时间戳。其中比较 7 年前 |
|
Jarek · 与循环python数据帧中的下一个/上一个值进行比较 7 年前 |
|
vato · Bash脚本:测试浮点数是否在包括负数在内的特定范围内 7 年前 |