Menu
CoddyTech

שימוש ב־strlen()

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C של Coddy. שיעור 15 מתוך 63.

למדת לקרוא מחרוזות מקלט משתמש, אבל עכשיו דרושה לך דרך לקבוע מה אורכן של המחרוזות האלה. ב־C יש לשם כך את הפונקציה strlen() מהספרייה <string.h>.

הפונקציה strlen() סופרת את מספר התווים במחרוזת, ועוצרת כשהיא מגיעה לתו סיום המחרוזת הריק \0. חשוב לציין שהיא לא כוללת את תו סיום המחרוזת בספירה שלה — היא סופרת רק את התווים הגלויים בפועל.

#include <stdio.h>
#include <string.h>

char word[] = "Hello";
int length = strlen(word);
printf("Length: %d\n", length);  // מדפיס: Length: 5

כדי להשתמש ב־strlen(), עליך לכלול את הכותרת <string.h> בראש התוכנית. הפונקציה מקבלת מחרוזת כארגומנט ומחזירה מספר שלם שמייצג את מספר התווים שלפני תו הסיום הריק.

הפונקציה הזאת שימושית במיוחד כשצריך לדעת כמה מקום מחרוזת תופסת, לאמת את אורך הקלט או לבצע פעולות שתלויות בגודל המחרוזת. זו אחת הפונקציות הנפוצות ביותר לעבודה עם מחרוזות בתכנות ב־C.

challenge icon

אתגר

קל

כתוב תוכנית C שקוראת כמה מילים מהקלט ומנתחת את האורכים שלהן באמצעות הפונקציה strlen(). התוכנית שלך צריכה:

  1. לקרוא מספר שלם n שמייצג את מספר המילים לעיבוד
  2. עבור כל אחת מ-n המילים:
    • להצהיר על מערך תווים בן 50 איברים לאחסון המילה
    • לקרוא את המילה באמצעות scanf
    • להשתמש ב-strlen() כדי לחשב את אורך המילה
    • להדפיס את המילה ואת אורכה בתבנית שצוינה
  3. לאחר עיבוד כל המילים, לשמור ב-total_characters את מספר התווים הכולל בכל המילים
  4. לשמור ב-max_length את אורך המילה הארוכה ביותר

זכור לכלול את הכותרת <string.h> כדי להשתמש בפונקציה strlen().

השורות שמתחת לקוד שלך מדפיסות את total_characters ואת max_length. הפלט שלך צריך להיראות כך:

Word: [word] - Length: [length]
Word: [word] - Length: [length]
...
Total characters: [total]
Longest word length: [max_length]

לדוגמה, אם הקלט הוא:

3
hello
programming
C

הפלט שלך צריך להיות:

Word: hello - Length: 5
Word: programming - Length: 11
Word: C - Length: 1
Total characters: 17
Longest word length: 11

האתגר הזה בודק את ההבנה שלך בשימוש ב-strlen() למדידת אורכי מחרוזות, בעיבוד כמה מחרוזות באמצעות לולאות ובביצוע חישובים על סמך נתוני אורכי המחרוזות.

נסו בעצמכם

    // TODO: כתבו כאן את הקוד שלכם
    // עבדו על כל מילה באמצעות לולאה
    // עבור כל מילה:
    // - הגדירו מערך תווים עם 50 איברים
    // - קראו את המילה באמצעות scanf
    // - חשבו את האורך באמצעות strlen()
    // - הדפיסו את המילה ואת אורכה
    // - עדכנו את total_characters ואת max_length
    
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר C אונליין