c++/c 中的字符串string/字符串数组char [] 是如何比较大小的


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"


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM