C strcmp () - C Τυπική βιβλιοθήκη

Η συνάρτηση strcmp () συγκρίνει δύο χορδές και επιστρέφει 0 εάν και οι δύο χορδές είναι ίδιες.

C strcmp () Πρωτότυπο

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

Η strcmp()συνάρτηση παίρνει δύο χορδές και επιστρέφει έναν ακέραιο.

Η strcmp()συγκρίνει δύο σειρές ανά χαρακτήρα.

Εάν ο πρώτος χαρακτήρας των δύο χορδών είναι ίσος, συγκρίνεται ο επόμενος χαρακτήρας των δύο χορδών. Αυτό συνεχίζεται έως ότου οι αντίστοιχοι χαρακτήρες των δύο χορδών είναι διαφορετικοί ή επιτευχθεί ένας μηδενικός χαρακτήρας ''.

Ορίζεται στο string.hαρχείο κεφαλίδας.

Τιμή επιστροφής από strcmp ()

Αξία επιστροφής Παρατηρήσεις
0 εάν και οι δύο χορδές είναι ίδιες (ίσες)
αρνητικός εάν η τιμή ASCII του πρώτου ασυναγώνιστου χαρακτήρα είναι μικρότερη από τη δεύτερη.
θετικός ακέραιος εάν η τιμή ASCII του πρώτου ασυναγώνιστου χαρακτήρα είναι μεγαλύτερη από τη δεύτερη.

Παράδειγμα: Συνάρτηση C strcmp ()

 #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; ) 

Παραγωγή

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

Ο πρώτος απαράμιλλης χαρακτήρας μεταξύ των συμβολοσειρών str1 και str2 είναι ο τρίτος χαρακτήρας Η τιμή ASCII του «c» είναι 99 και η τιμή ASCII του «C» είναι 67. Επομένως, όταν συγκρίνονται οι συμβολοσειρές str1 και str2, η τιμή επιστροφής είναι 32.

Όταν συγκρίνονται οι συμβολοσειρές str1 και str3, το αποτέλεσμα είναι 0 επειδή και οι δύο συμβολοσειρές είναι ίδιες.

ενδιαφέροντα άρθρα...