עבור לתוכן

כמה שאלות שאני לא בטוח שעניתי עליהם נכון במבחן..(שפת C)

Featured Replies

פורסם

היי

היה לי היום מבחון ב-C ואני לא בטוח על כמה שאלות שעיניתי..

1)אם אנחנו רוצים להשתמש בפונקצייה משלנו אנחנו צריכים להגדיר אותה באזור ה INCLUDE#

תשובה: נכון

2)בSWITCH CASE אני יכול להכניס משתנה מכל סוג.

תשובה: נכון

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

תודה.

פורסם

1)אם אנחנו רוצים להשתמש בפונקצייה משלנו אנחנו צריכים להגדיר אותה באזור ה INCLUDE#

תשובה: נכון

כן, בעיקרון אפשר גם בתוך הקובץ הראשי, אבל זה "יותר נקי" כאשר אתה עושה את זה ב-#include

2)בSWITCH CASE אני יכול להכניס משתנה מכל סוג.

תשובה: נכון

נראה לי שכן, למעט מערכים אבל...

פורסם
  • מחבר

תודה..

אבל ממתי מערך זה תיפוס(משתנה) בבפני עצמו?

פורסם

משתנה מסוים אכן יכול להיות מטיפוס מערך אחרי שהגדרת את הטיפוס.

פורסם

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

פורסם

צודק,לא חשבתי על זה בדרך כזאת.

פורסם
  • מחבר

טעיטי בשני השאלות!! :(

אסור להכניס FLOAT לSWITCH CASE

וגם פונקצייה לא חייבת להיות מוגדרת באיזרו הINCLUDE אלה היא יכולה להיות בתוך קובץ

ובתחילת התוכנית אתה יכול לעשות INCLUDE לקובץ הזה שבו נמצאת הפונקצייה שלך... :'(

בעעעסססההה. :-X

  • 2 שבועות מאוחר יותר...
פורסם

הערה קטנה בקשר לסיבה למה אסור להכניס float ל switch case :

הסיבה לכך היא שבכלל "אסור" להשוות בין שני floatים (או doubleים) משום שזה יכול ליצור שגיאות לוגיות:

נניח למשל אתה רוצה להשוות בין שני floatים ששניהם אמורים להיות שווים ל -10 , אבל אחד מהם עשוי להיות מיוצג כ 10.00000000 והשני כ 9.99999999 ולכן, למרות שהם אמורים להיות שווים, ההשואה תחזיר false..

זה כמובן תאורטי, אבל מניסיון, יש יותר סיכוי ששגיאה כזאת תקרה כאשר מבוצעות פעולות אריתמטיות על המספרים שאתה משווה, ככה שאם למשל תגדיר שני floatים ותתן להם ישר את הערך 10.0 ואח"כ תשווה אותם, התוצאה תהיה בכל זאת true.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים