在c語(yǔ)言中strcmp是什么

這篇文章將為大家詳細(xì)講解有關(guān)在c語(yǔ)言中strcmp是什么,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

創(chuàng)新互聯(lián)長(zhǎng)期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為萬(wàn)源企業(yè)提供專業(yè)的成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營(yíng)銷網(wǎng)站建設(shè),萬(wàn)源網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

strcmp在c語(yǔ)言中的意思是string compare的縮寫,用于比較兩個(gè)字符串并根據(jù)比較結(jié)果返回整數(shù),基本形式為strcmp(str1,str2),若【str1=str2】,則返回零,若【str1<str2】,則返回負(fù)數(shù)。

strcmp在c語(yǔ)言中的意思是:

strcmp函數(shù)是string compare(字符串比較)的縮寫,用于比較兩個(gè)字符串并根據(jù)比較結(jié)果返回整數(shù)?;拘问綖?code>strcmp(str1,str2),若str1=str2,則返回零;若str1<str2,則返回負(fù)數(shù);若str1>str2,則返回正數(shù)。

當(dāng)s1<s2時(shí),返回為負(fù)數(shù);

當(dāng)s1=s2時(shí),返回值= 0;

當(dāng)s1>s2時(shí),返回正數(shù)。

即:兩個(gè)字符串自左向右逐個(gè)字符相比(按ASCII值大小相比較),直到出現(xiàn)不同的字符或遇'\0'為止。如:

1."A"<"B"

2."A"<"AB"

3."Apple"<"Banana"

4."A"<"a"

5."compare"<"computer"

特別注意:strcmp(const char *s1,const char * s2)這里面只能比較字符串,即可用于比較兩個(gè)字符串常量,或比較數(shù)組和字符串常量,不能比較數(shù)字等其他形式的參數(shù)。

ANSI標(biāo)準(zhǔn)規(guī)定,返回值為正數(shù),負(fù)數(shù),0 。而確切數(shù)值是依賴不同的C實(shí)現(xiàn)的。

  • 當(dāng)兩個(gè)字符串不相等時(shí),C標(biāo)準(zhǔn)沒(méi)有規(guī)定返回值會(huì)是1 或 -1,只規(guī)定了正數(shù)和負(fù)數(shù)。

  • 有些會(huì)把兩個(gè)字符的ASCII碼之差作為比較結(jié)果由函數(shù)值返回。但無(wú)論如何不能以此條依據(jù)作為程序中的流程邏輯。

代碼:

#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規(guī)范的,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);
}

關(guān)于在c語(yǔ)言中strcmp是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

文章名稱:在c語(yǔ)言中strcmp是什么
URL網(wǎng)址:http://muchs.cn/article6/gdisig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化網(wǎng)站設(shè)計(jì)公司、面包屑導(dǎo)航、ChatGPT、定制網(wǎng)站、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作