我是用C比较两个字符串++如下:关系运算符(不同长度)的字符串比较
if(s1 <= s2)
//do stuff
我已经忘记了字符串比较的复杂性和迅速地了解到以下情况:
s1 = "10.72";
s2 = "8.87";
该声明将评估为true,并执行条件内的任何操作。在8和1.所有ASCII数字表示是在从48递增的顺序之间的比较情况(0) - 57(9),并且显然1 < 8.
我曾认为C++考虑到串长度但这是不正确的。有人会介意解释为什么从C++语言设计的角度不考虑长度?
dfri打我回答,但是如果你想做上面的比较,我会建议先使用'std :: stof'转换为浮点数,然后比较浮点数,例如'float f1 = std :: stof(s1)'then'if(f1 <= f2)'。 – silvergasp