פורסם 2013 ביולי 1712 שנים שאלה קטנה לי אליכם האם חוקי לרשוםwhile(file_name)או שחובה להשתמש בwhile(feof(file_name)?תודה מראש
פורסם 2013 ביולי 1712 שנים ב-C, כל ערך שאינו struct יכול לשמש כערך לוגי, כלומר אפשר להשתמש בו ב-if/while. ערך 0 הוא שקר, וכל ערך שאינו 0 הוא אמת. זה נכון לא רק לערכים מספריים (כגון int, char ו-double) אלא גם למצביעים (שם ערך 0 הוא NULL, שאומר שהמצביע לא מצביע לשום דבר).נניח כרגע ש-file_name הוא אכן מצביע לשם קובץ (כלומר הוא מטיפוס *char), האם יש לו ערך אמת או שקר?נניח ש-file_name הוא מטיפוס *FILE ומצביע לקובץ פתוח, האם יש לו ערך אמת או שקר?
פורסם 2013 ביולי 1712 שנים מחבר אוקי אני אנסח את השאלה קצתי יותר טוב: האם שאני רושם while(file_name) אני בעצם אכנס ל-לולאה אין סופית?כי ברגע שהוא יסיים לקרוא את הקובץ הוא ימשיך לערכי "זבל"? נערך 2013 ביולי 1712 שנים על-ידי Styx
פורסם 2013 ביולי 1712 שנים כן. כל עוד לא עשית file_name = 0 איפשהו בגוף הלולאה, ערך הביטוי תמיד יהיה אמת ולכן הלולאה תמשיך לנצח.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.