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