3 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
strcmp函數(shù)是比較兩個(gè)字符串的大小,返回比較的結(jié)果。一般形式是:
strcmp(字符串1,字符串2);
①字符串1小于字符串2,strcmp函數(shù)返回一個(gè)負(fù)值;
②字符串1等于字符串2,strcmp函數(shù)返回零;
③字符串1大于字符串2,strcmp函數(shù)返回一個(gè)正值;
那么,字符中的大小是如何比較的呢?來看一個(gè)例子。
實(shí)際上,字符串的比較是比較字符串中各對(duì)字符的ASCII碼。
首先比較兩個(gè)串的第一個(gè)字符,若不相等,則停止比較并得出大于或小于的結(jié)果;
如果相等就接著 比較第二個(gè)字符然后第三個(gè)字符等等。如果兩上字符串前面的字符一直相等,像"disk"和"disks" 那樣, 前四個(gè)字符都一樣, 然后比較第 五個(gè)字符, 前一個(gè)字符串"disk"只剩下結(jié)束符'/0',后一個(gè)字符串"disks"剩下's','/0'的ASCII碼小于's'的ASCII 碼,所以得出了結(jié)果。因此無論兩個(gè)字符串是什么樣,strcmp函數(shù)最多比較到其中一個(gè)字符串遇到結(jié)束符'/0'為止,就能得出結(jié)果。

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
比較兩個(gè)字符串大小
按ascii碼一次比較 以靠前的字符為準(zhǔn)
比如:china chayz
這兩個(gè)作比較 i比a大 比較后得出的是i與a的差值i-a=8(不知道計(jì)算對(duì)不對(duì)。囧)返回的就是8
兩個(gè)相等 返回的就是0
第一個(gè)比第二個(gè)小返回的就是負(fù)數(shù)。
- 3 回答
- 0 關(guān)注
- 757 瀏覽
添加回答
舉報(bào)