השוואת אורך מחרוזת היא פונקציה נפוצה בתכנות C, מכיוון שהיא מאפשרת לך לראות איזו מחרוזת מכילה יותר תווים. זה מאוד שימושי למיון נתונים. השוואת מחרוזות דורשת פונקציה מיוחדת; אל תשתמש! = או ==.
צעדים
שלב 1. ישנן שתי פונקציות המאפשרות לך להשוות מחרוזות ב- C
שתי הפונקציות הללו כלולות בספרייה.
- strcmp () - פונקציה זו משווה בין שתי מחרוזות ומחזירה את ההפרש ההשוואתי במספר התווים.
- strncmp () - זהה ל- strcmp (), אלא שהוא משווה את n התווים הראשונים. הוא נחשב בטוח יותר מכיוון שהוא מסייע במניעת קריסות מהצפה.
שלב 2. התחל את התוכנית עם הספריות הדרושות שלך
אתה רוצה את הספרייה ואת הספריות, יחד עם כל האחרים שתזדקק להם לתוכנית הספציפית שלך.
#כלול #כלול
שלב 3. התחל
int פוּנקצִיָה.
זוהי הדרך הקלה ביותר ללמוד פונקציה זו, מכיוון שהיא תחזיר מספר שלם שמשווה את אורך שתי המיתרים.
#include #include int main () {}
שלב 4. הגדר את שני המיתרים שברצונך להשוות
בדוגמה זו, נשווה שתי מחרוזות צ'אר מוגדרות מראש. כמו כן, תרצה להגדיר את ערך ההחזרה כמספר שלם.
#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. השתמש ב-
אחרת הצהרה לביצוע ההשוואה.
עכשיו כשיש לך את הפונקציה, תוכל להשתמש במשפט If … Else כדי להציג איזו מחרוזת ארוכה יותר. strncmp () יחזיר 0 אם המחרוזות באותו אורך, מספר חיובי אם str1 גדול יותר ומספר שלילי אם str2 גדול יותר.
#include #include int main () {char *str1 = "תפוח"; char *str2 = "כתום"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1 ארוך יותר"); } אחר אם (ret <0) {printf ("str2 ארוך יותר"); } else {printf ("שתי המיתרים שווים"); } החזרה (0); }