שפת C/משתנים: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
Atavory (שיחה | תרומות)
Atavory (שיחה | תרומות)
שורה 63:
 
גם כאן אין השפה קובעת את גדליהם של הטיפוסים, והם יכולים להשתנות ממחשב למחשב. השפה רק מחייבת שגדלו של double יהיה לפחות גדלו של float, וגדלו של long double יהיה לפחות גדלו של double. גם כאן, ככל שמשתנה גדול יותר, דיוקו עולה.
 
{{משימה|{{קושי2}}
ברצוננו להגדיר משתנה number_of_people, הסופר מספר אנשים כלשהו. מי מהטיפוסים הבאים מתאים
*double
*int
*char
*unsigned long
*unsigned int
}}
 
{{מוסתר|ta2 = left|הפתרון|2=
* double כנראה אינו מתאים, מפני שמספר אנשים הינו שלם.
* int עשוי להתאים, אך מספר אנשים לרוב אינו שלילי, ואילו טיפוס זה מאפשר גם ערכים שליליים.
* char מכיל ערכים שליליים (שפחות רלוונטיים למקרה זה), וערכים חיוביים קטנים יחסית, ולכן הטיפוס עשוי לא להתאים.
* unsigned long וunsigned int שניהם מכילים ערכים שלמים ולא שליליים בלבד, ולכן כל אחד מהם מתאים. הראשון מאפשרת ערכים גדולים יותר, אך תופסת יותר מקום, יחסית לשני.
}}
 
==קבועים==