日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1.6 字符串的比较

發布時間:2025/4/16 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1.6 字符串的比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. char類字符串比較, 我們不使用關系操作符,(比如>,<,=,!=),?而使用strcmp函數. 如果我們要知道字符數組word中的字符串是不是mate,不能用這個語句:word=="mate", 因為數組名是數組的地址, 字符串常量"mate"返回此字符串的地址, 那這句話的意思是比較這兩個地址是否相同. 我們使用strcmp函數來比較字符串, 該函數接受兩個字符串地址作為參數, 這意味著參數可以是指針,字符串常量或者字符數組名, 因為這些的表現形式都是地址. 例如strcmp(A,B), 如果A=B,那么strcmp函數返回0, 如果字符串A的第一個字符按字符順序在B的第一個字符前面, 則strcmp返回一個負數值, 反之如果在之后, 則返回一個正數值.
??????? strcmp(A,B)=0, 如果A=B
??????? strcmp(A,B)<0, 如果A的字符順序在B之前
??????? strcmp(A,B)>0, 如果A的字符順序在B之后

2. 由于字符串是通過結尾的空字符定義的, 而不是由其所在數組的長度定義的, 這意味著兩個字符串即使被存儲在長度不同的數組中, 也可能是相同的,例如下面的big和little字符數組如果用strcmp比較是相等的.
??????? char big[80]="happy";??//5個字符加空字符/0
????????char?little[6]="happy";? //5個字符加空字符/0

3. 我們可以用關系操作符來比較字符, 因為字符實際上是整型, 因此可以用來比較字符. 例如下面的代碼輸出字母表
??????? for(char ch='a';ch<='z';ch++)
?????????????cout<<ch;

4. string類字符串比較.可以用關系操作符進行比較(比如>,<,=,!=), 因為string類設計時重載了這些關系操作符, 所以我們能夠使用這些關系操作符比較字符串.

5. 代碼集合
#include <iostream> #include <cstring> //含義strcmp函數 #include <string> //包含string類 using namespace std;int main() { char類字符串比較 //char類字符串比較, 我們不使用關系操作符,(比如>,<,=,!=), 而使用strcmp函數 //strcmp(A,B)=0, 如果A=B//strcmp(A,B)<0, 如果A的字符順序在B之前//strcmp(A,B)>0, 如果A的字符順序在B之后char word[5]="late";if(strcmp(word,"mate")==0) cout<<"word is "<<"mate"<<endl;else if(strcmp(word,"mate")<0)cout<<"word is in front of mate"<<endl;elsecout<<"word is after mate"<<endl;//兩個字符串即使被存儲在長度不同的數組中, 也可能是相同的char big[80]="happy";char little[6]="happy";if(strcmp(big,little)==0)cout<<"big is equal to little"<<endl; //我們可以用關系操作符來比較字符, 因為字符實際上是整型, 因此可以用來比較字符//例如下面的代碼輸出字母表 for(char ch='a';ch<='z';ch++)cout<<ch<<" ";cout<<endl;//字符串"?ate",改變?,直到與"mate"一樣char word2[5]="?ate";for(char ch='a';strcmp(word2,"mate")!=0;ch++) {cout<<word2<<endl;word2[0]=ch;} cout<<"After loop ends, word2 is "<<word<<endl;//string類字符串的比較// //string類字符串比較.可以用關系操作符進行比較(比如>,<,=,!=), 因為string類 //設計時重載了這些關系操作符, 所以我們能夠使用這些關系操作符比較字符串. //還是上面的例子 string word3="?ate"; //這里是string類型字符串 for(char ch='a';word3!="mate";ch++) {cout<<word3<<endl;word3[0]=ch;} cout<<"After loop ends, word3 is "<<word<<endl;system("pause");return 0; }

總結

以上是生活随笔為你收集整理的1.6 字符串的比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。