我是用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