c語言中字串大小的比較:
如果單純比較長度,直接呼叫類似於strlen()之類的函式就可以,加以比較即可.如果比較字串的大小,則比較的是字元的ascii編碼的大小.你搜尋一下ascii碼表就可以得知每乙個ascii字元的大小. 參考
在比較時,設定乙個計數器,從零開始,一直迴圈到最短的那個字元結束,一位一位進行比較,
1.如果 字串1的第n位的ascii碼值 等於 字串2的第n位的ascii碼值
則 繼續比較下一位
2.如果 字串1的第n位的ascii碼值 大於 字串2的第n位的ascii碼值
則 輸出結果:1,表示字串1 > 字串2;
3.如果 字串1的第n位的ascii碼值 小於 字串2的第n位的ascii碼值
則 輸出結果:-1 表示字串1 < 字串2;
4.如果 每一位的ascii碼值都相等,而且長度相同,
則 輸出結果:0 表示字串1 == 字串2;
5.如果 字串1是字串2的前m位,例如 abcd 與abcdef 比較,
則 字串1《字串2.
原因是,到第5位時,字串1的ascii值是0,而字串2的ascii值為'e',即十進位制的101,當然是字串2大了.
具體到 cds和lesoqd
從第一位開始,'c'和'l'比較,當然是'c' < 'l'了,所以,"cds" < "lesoqd"
常用的幾位ascii的順序從小到大為:
0..9, a..z, a..z.
c#語言中字串大小的比較:
string str1 = "d";
string str2 = "d";
console.writeline(string.compare(str1, str2));//1
console.writeline(string.compare(str1, str2, stringcomparison.ordinal));//-32
//string str3 = "c";
//string str4 = "l";
str4));//-1
str4,stringcomparison.ordinal));//-9
看來c#預設是根據某種特殊的規則來排序的,跟ascii碼不一樣,不過可以指定用ascii來排序(stringcomparison.ordinal)。
另外,貌似比較大小沒有意義,字串能夠比較是否相等就ok。
C 字串比較
1,str1.equals str2 2,int result string.compare str1,str2 int result string.compare str1,str2 true 忽略大小寫比較 3 在某些語言中,可以利用 來直接比較字串,而在 c 中,只能用 來比較兩個字串是否相等...
C 比較字串
net framework 提供多個方法來比較字串的值。下表列出並描述了這些值比較方法。方法名使用string.compare 比較兩個字串的值。返回整數值。string.compareordinal 比較兩個字串而不考慮本地區域性。返回整數值。string.compareto 將當前字串物件與另乙...
C 字串的比較
net framework 提供多個方法來比較字串的值。下表列出並描述了這些值比較方法。方法名使用 string.compare 比較兩個字串的值。返回整數值。string.compareordinal 比較兩個字串而不考慮本地區域性。返回整數值。string.compareto 將當前字串物件與另...