Stīgu garumu salīdzināšana ir bieži izmantota funkcija C programmēšanā, jo tā var pateikt, kurā virknē ir vairāk rakstzīmju. Šī funkcija ir ļoti noderīga datu kārtošanā. Stīgu salīdzināšanai nepieciešama īpaša funkcija; nelietojiet! = vai ==.
Solis
1. solis. Ir divu veidu funkcijas, kuras varat izmantot, lai salīdzinātu virknes C valodā
Abas šīs funkcijas ir iekļautas bibliotēkā.
- strcmp (): Šī funkcija salīdzina divas virknes un atgriež rakstzīmju skaita salīdzināšanas rezultātu starp tām.
- strncmp (): šī funkcija ir tāda pati kā strcmp (), izņemot to, ka tā salīdzina virknes pirmās n} rakstzīmes. Šī funkcija tiek uzskatīta par drošāku, jo tā novērš programmas apstāšanos pārslodzes dēļ.
Solis 2. Palaidiet programmu ar nepieciešamajām bibliotēkām
Mēs iesakām palaist un kopā ar citām bibliotēkām, kas nepieciešamas konkrētai programmai.
#iekļaut #iekļaut
Solis 3. Palaidiet funkciju
int. Tas ir vienkāršākais veids, kā apgūt šo funkciju, jo tas atgriež veselu skaitļu vērtību, salīdzinot rakstzīmju skaitu divās virknēs.
#include #include int main () {}
4. solis. Definējiet divas virknes, kuras vēlaties salīdzināt
Piemēram, mēs salīdzināsim 2 rakstzīmju tipa virknes, kas ir definētas iepriekš. Varat arī definēt šīs funkcijas atgriezto vērtību, lai datu tipam būtu vesels skaitlis.
#include #include int main () {char *str1 = "ābols"; char *str2 = "oranža"; int ret; }
5. solis. Pievienojiet salīdzināšanas funkciju
Kad esat definējis šīs divas virknes, varat pievienot salīdzināšanas funkciju. Mēs izmantosim strncmp (), tāpēc mums jāpārliecinās, ka funkcijā ir iestatīts izmērāmo rakstzīmju skaits.
#include #include int main () {char *str1 = "ābols"; char *str2 = "oranža"; int ret; ret = strncmp (str1, str2, 6); / *Šī funkcija salīdzinās abas “virknes” no 6 rakstzīmēm */}
6. solis. Izmantojiet paziņojumus
Ja… citādi salīdzināt. Pēc funkcijas pievienošanas programmai varat izmantot paziņojumu, lai parādītu, kurā virknē ir vairāk rakstzīmju. strncmp () atgriezīs 0, ja virknēm ir vienāds rakstzīmju skaits, pozitīvs skaitlis, ja str1 ir garāks un negatīvs skaitlis, ja str2 ir garāks.
#include #include int main () {char *str1 = "ābols"; char *str2 = "oranža"; int ret; ret = strncmp (str1, str2, 6); ja (ret> 0) {printf ("str1 ir garāks"); } cits if (ret <0) {printf ("str2 ir garāks"); } else {printf ("Abas virknes ir vienāda garuma"); } atgriešanās (0); }