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