這篇文章將為大家詳細講解有關在c語言中strcmp是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
創新互聯長期為近1000家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為萬源企業提供專業的成都網站制作、做網站、外貿營銷網站建設,萬源網站改版等技術服務。擁有十余年豐富建站經驗和眾多成功案例,為您定制開發。
strcmp在c語言中的意思是string compare的縮寫,用于比較兩個字符串并根據比較結果返回整數,基本形式為strcmp(str1,str2),若【str1=str2】,則返回零,若【str1<str2】,則返回負數。
strcmp在c語言中的意思是:
strcmp
函數是string compare(字符串比較)的縮寫,用于比較兩個字符串并根據比較結果返回整數。基本形式為strcmp(str1,str2)
,若str1=str2,則返回零;若str1<str2,則返回負數;若str1>str2,則返回正數。
當s1<s2時,返回為負數;
當s1=s2時,返回值= 0;
當s1>s2時,返回正數。
即:兩個字符串自左向右逐個字符相比(按ASCII值大小相比較),直到出現不同的字符或遇'\0'為止。如:
1."A"<"B"
2."A"<"AB"
3."Apple"<"Banana"
4."A"<"a"
5."compare"<"computer"
特別注意:strcmp(const char *s1,const char * s2)
這里面只能比較字符串,即可用于比較兩個字符串常量,或比較數組和字符串常量,不能比較數字等其他形式的參數。
ANSI標準規定,返回值為正數,負數,0 。而確切數值是依賴不同的C實現的。
當兩個字符串不相等時,C標準沒有規定返回值會是1 或 -1,只規定了正數和負數。
有些會把兩個字符的ASCII碼之差作為比較結果由函數值返回。但無論如何不能以此條依據作為程序中的流程邏輯。
代碼:
#include <string.h> #include <memcopy.h> #undef strcmp int strcmp(p1,p2) { const char *p1; const char *p2; register const unsignedchar *s1=(const unsignedchar*)p1; register const unsignedchar *s2=(const unsignedchar*)p2; unsigned reg_charc1,c2; do { c1=(unsigned char)*s1++; c2=(unsigned char)*s2++; if(c1=='\0') returnc1-c2; } while(c1==c2); return c1-c2; } libc_hidden_builtin_def(strcmp) //以上代碼是K&R C規范的,ASCI C的在下面 /*strcmp function*/ #include <string.h> int(strap)(const char *sl,const char *s2) { /*compare unsigned char sl[],s2[]*/ for(;*sl==*s2;++sl,++s2) if(*sl=='\0') return(0); return((*(unsignedchar*)sl<*(unsignedchar*)s2)?-1:+1); }
關于在c語言中strcmp是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
文章名稱:在c語言中strcmp是什么
URL網址:http://vcdvsql.cn/article6/gdisig.html
成都網站建設公司_創新互聯,為您提供關鍵詞優化、網站設計公司、面包屑導航、ChatGPT、定制網站、自適應網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯