c++中的string
(1)從第一位開始,依次比較兩個字符串中每個字符對應ASCII碼的大小,大的字符串大。
string a="abcd5sdse";
string b="er3dse";
'e'的ASCII碼大於'a'的ASCII碼,
因此b > a,
(2)若b為a的前一部分,則a >= b
string a="2541";
string b="25";
a的長度大於b
因此a > b
c中的 char []數組
#include <iostream>
using namespace std;
int main() {
char a[5] = "2541";
char b[2] = "2";
cout << &a << endl; //00000081CECFFC84
cout << &b << endl; //00000081CECFFCA4
cout << (b > a) << endl; //1
cout << &"30" << endl; //00007FF783289C7C
cout << &"3" << endl; //00007FF783289C80
cout << ("3" > "30") << endl; //1
}
c字符串數組比較大小時,比較的是 字符串數組 在內存中存儲的地址的大小。
b的地址大於a,因此b > a
"3"的地址大於"30",因此"3" > "30"