回覆列表
-
1 # 使用者2458114238191884
-
2 # 雨過天晴
跟字串的長度無關的.就是從兩個字串的頭開始比.相應位的字元進行對比.實際上是比較相應位字元的ASCII碼大小.如char *s1="abc";char *s2="bd";執行strcmp(s1,s2),其結果是負的.從兩個字串的頭開始比,因為字串s1中的"a"小於s2中的"b"所以s1<s2;再如:char *s1="abc";char *s2="ad";其結果也是負的,因為s1中的"b"<s2中的"d"再如:char *s1="abc";char *s2="ab";其結果就是正的.因為s1中的"c"大於s2中的"\0";因為字串的最後一個字元是\0;再如:char *s1="abc";char *s2="abcd";其結果是負的.因為s1中的"\0"小於s2中的"d";
-
3 # 快樂的在水一方
比較兩個字串的大小,用ascii碼值進行比較。前面幾個字元相等,到大寫的F和小寫f進行比較時,大寫ascii碼值是F是70,小寫的是102,所以前面的字串小於後面的字串的長度。
-
4 # 小雪分享日常生活
大小就是從從左到右比較陣列中每一字元的大小。
1.假設兩個字串較短字串的長度為N,那麼在一個長度為N的迴圈中,每次迴圈都比較兩個字串陣列當前下標對應的字元——。
2.如果第一個字元小於第二個,那麼比較終止,第一個字串小於第二個字串。同樣的。
3.如果第一個字元大於第二個字元,那麼第一個字串就大於第二個字串。
4.只有在兩個字元相等的情況下,字元陣列下標加1,進行陣列中下一個字元的比較。
5.這種比較只有在兩個字串長度相等並且每一個字元都相等的情況下兩個字串才相等。
如果想按照字串比大小,規則是首先誰的長度長即為大,在字元數相同的情況下,逐一比較各字元的大小,遇到分出大小的字元即做出判斷
如果要按照字面數字比大小,則需要將字元型數字轉換成數字後再比較
對於單個數字字元來說,數字越大其ASCII碼也越大,可以直接比較即可