手動實現strncmp

2021-06-22 08:10:26 字數 686 閱讀 8602

自己寫的版本

int strncmp(char *s1, char *s2, int maxlen)

ansi c版本(難懂= =)          360doc.com/content/11/0422/23/1317564_111662313.shtml

#include    int   strncmp(register const char *s1, register const char *s2, register size_t n)   

while (--n > 0);

if (n > 0)

}

return 0;

}

某重複多遍的部落格          blog.sina.com.cn/s/blog_4af62c070100ppit.html 

感覺為啥都不判斷指標為空的情況,而且如果s2短,maxlen還超過s2長度了,豈不是出錯了,不懂啊

int strncmp ( char * s1, char * s2, size_t n)

return( *s1 - *s2 );//返回比較結果

}

而且ansi也沒考慮空指標的情況,可能呼叫前已經處理掉了麼

實現strcmp 和strncmp 函式

strcmp 函式是字串比較函式,注意,此處比較不是根據字串的長度,而是ascii碼的大小,一旦遇到ascii不同的字元,就能返回結果,當前者大於後者時,返回乙個正數,當前者小於後者時,返回乙個負數。只有當每個字元都相同時,返回0。下面來實現我自己的strcmp 函式,有興趣的朋友也可以按照我的博文...

C 模擬實現strncmp

首先簡單介紹下這個函式 int strncmp const char string1,const char string2,size t count 比較字串,所以必須加上const使字串不能改變 該函式的標頭檔案是 include 0 string1子字串小於string2子字串 0 string...

筆試題 C語言 模擬實現strncmp

模擬實現字串比較函式strncmp 與strcmp 函式可以檢視部落格有區別。函式原型 int strncmp const char str1,const char str2,size t num 返回值 若str1與str2的前n個字元相同,則返回0 若arr1大於arr2,則返回大於0的值 若a...