C strcmp () - C Standardbibliotek

Funktionen strcmp () jämför två strängar och returnerar 0 om båda strängarna är identiska.

C strcmp () Prototyp

 int strcmp (const char * str1, const char * str2);

Den strcmp()funktionen tar två strängar och returnerar ett heltal.

De strcmp()jämför två strängar karaktär för karaktär.

Om det första tecknet i två strängar är lika jämförs nästa tecken i två strängar. Detta fortsätter tills motsvarande tecken i två strängar är olika eller ett noll tecken ''uppnås.

Det definieras i string.hrubrikfilen.

Returvärde från strcmp ()

Returvärde Anmärkningar
0 om båda strängarna är identiska (lika)
negativ om ASCII-värdet för det första omatchade tecknet är mindre än det andra.
positivt heltal om ASCII-värdet för det första omatchade tecknet är större än det andra.

Exempel: C strcmp () -funktion

 #include #include int main() ( char str1() = "abcd", str2() = "abCd", str3() = "abcd"; int result; // comparing strings str1 and str2 result = strcmp(str1, str2); printf("strcmp(str1, str2) = %d", result); // comparing strings str1 and str3 result = strcmp(str1, str3); printf("strcmp(str1, str3) = %d", result); return 0; ) 

Produktion

 strcmp (str1, str2) = 32 strcmp (str1, str3) = 0

Det första oöverträffade tecknet mellan sträng str1 och str2 är tredje tecken. ASCII-värdet på 'c' är 99 och ASCII-värdet på 'C' är 67. När strängar str1 och str2 jämförs är därför returvärdet 32.

När strängar str1 och str3 jämförs är resultatet 0 eftersom båda strängarna är identiska.

Intressanta artiklar...