溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在c語言中strcmp是什么

發(fā)布時間:2020-07-28 16:44:34 來源:億速云 閱讀:557 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關在c語言中strcmp是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

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

strcmp在c語言中的意思是:

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

當s1<s2時,返回為負數(shù);

當s1=s2時,返回值= 0;

當s1>s2時,返回正數(shù)。

即:兩個字符串自左向右逐個字符相比(按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)這里面只能比較字符串,即可用于比較兩個字符串常量,或比較數(shù)組和字符串常量,不能比較數(shù)字等其他形式的參數(shù)。

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

  • 當兩個字符串不相等時,C標準沒有規(guī)定返回值會是1 或 -1,只規(guī)定了正數(shù)和負數(shù)。

  • 有些會把兩個字符的ASCII碼之差作為比較結果由函數(shù)值返回。但無論如何不能以此條依據(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);
}


關于在c語言中strcmp是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI