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"