სიმების სიგრძეების შედარება ხშირად გამოიყენება C პროგრამირების ფუნქციაში, რადგან მას შეუძლია გითხრათ, რომელ სტრიქონს აქვს მეტი სიმბოლო. ეს ფუნქცია ძალზედ სასარგებლოა მონაცემთა დასალაგებლად. სიმების შედარება განსაკუთრებულ ფუნქციას მოითხოვს; არ გამოიყენოთ! = ან ==.
ნაბიჯი
ნაბიჯი 1. არსებობს 2 ტიპის ფუნქცია, რომლის საშუალებითაც შეგიძლიათ შეადაროთ სტრიქონები C ენაზე
ორივე ეს ფუნქცია შედის ბიბლიოთეკაში.
- strcmp (): ეს ფუნქცია ადარებს ორ სტრიქონს და აბრუნებს მათ შორის სიმბოლოების რაოდენობის შედარების შედეგს.
- strncmp (): ეს ფუნქცია იგივეა, რაც strcmp (), გარდა იმისა, რომ ადარებს სტრიქონში არსებულ პირველ n} სიმბოლოს. ეს ფუნქცია უფრო უსაფრთხოდ ითვლება, რადგან ის ხელს უშლის პროგრამის გადატვირთვას გადატვირთვის გამო.
ნაბიჯი 2. გაუშვით პროგრამა თქვენთვის საჭირო ბიბლიოთეკებით
ჩვენ გირჩევთ გაუშვათ და სხვა ბიბლიოთეკებთან ერთად გჭირდებათ კონკრეტული პროგრამა.
#ჩართეთ #ჩართეთ
ნაბიჯი 3. გაუშვით ფუნქცია
int ეს არის უმარტივესი გზა ამ ფუნქციის შესასწავლად, რადგან ის აბრუნებს სიმბოლოთა რაოდენობის შედარების მთელ მნიშვნელობას ორ სტრიქონში.
#მოიცავს #მოიცავს მთავარ () {}
ნაბიჯი 4. განსაზღვრეთ ორი სტრიქონი, რომლის შედარებაც გსურთ
მაგალითად, ჩვენ შევადარებთ ადრე დადგენილი მონაცემების 2 სტრიქონს. თქვენ ასევე შეგიძლიათ განსაზღვროთ ამ ფუნქციის მიერ დაბრუნებული მნიშვნელობა, რომ ჰქონდეს მონაცემთა ტიპის მთელი რიცხვი.
#include #include int main () {char *str1 = "ვაშლი"; char *str2 = "ფორთოხალი"; int ret; }
ნაბიჯი 5. შედარების ფუნქციის დამატება
მას შემდეგ რაც განსაზღვრეთ ეს ორი სტრიქონი, შეგიძლიათ დაამატოთ შედარების ფუნქცია. ჩვენ ვიყენებთ strncmp () - ს, ამიტომ ჩვენ უნდა დავრწმუნდეთ, რომ საზომი სიმბოლოების რაოდენობა დაყენებულია ფუნქციაში.
#include #include int main () {char *str1 = "ვაშლი"; char *str2 = "ფორთოხალი"; int ret; ret = strncmp (str1, str2, 6); / *ეს ფუნქცია შეადარებს ორივე '' სტრიქონს '' 6 სიმბოლოს */}
ნაბიჯი 6. გამოიყენეთ განცხადებები
თუ… სხვაგან შედარების გაკეთება. მას შემდეგ რაც დაამატებთ თქვენს პროგრამას ფუნქციას, შეგიძლიათ გამოიყენოთ განცხადება იმის საჩვენებლად, თუ რომელ სტრიქონს აქვს მეტი სიმბოლო. strncmp () დააბრუნებს 0 თუ სტრიქონებს აქვთ იგივე რაოდენობის სიმბოლოები, დადებითი რიცხვი თუ str1 უფრო გრძელია და უარყოფითი რიცხვი თუ str2 უფრო გრძელია.
#include #include int main () {char *str1 = "ვაშლი"; char *str2 = "ფორთოხალი"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1 უფრო გრძელია"); } else if (ret <0) {printf ("str2 უფრო გრძელია"); } else {printf ("ორივე სტრიქონი ერთნაირი სიგრძეა"); } დაბრუნება (0); }