אדום=מומחה ועוד שאלה
ציטוט ארוך של מי שכתב את השיעורי בית שלי : " כאשר אני מנסה להדר את הפתרון שלי לאחת השאלות 1-3 יחד עם דוגמת הקוד להגדרת מערך המחרוזות, ואני משתמשת במהדר שאינו Turbo C, אני מקבלת שגיאות בזמן הרצה, כמו Segemntation Fault. האם יש שגיאה בקוד? דוגמת הקוד שסופקה בהגדרת התרגיל מניחה הנחה מובלעת כי המהדר יאפשר כתיבה לתוך המחרוזות המוגדרות כאיברים במערך של char *'ים. זוהי אכן ההתנהגות ב-Turbo C, אך לא כך בכל מהדר ומהדר. ניתן היה להתאים את הדוגמה למקרה יותר כללי, אך אז הייתה היא הופכת מעט יותר מסורבלת (היינו נאלצים להשתמש במערך-עזר דו-מימדי; לחילופין ניתן היה להשתמש בהקצאת זיכרון דינמית, נושא אשר לא למדנו בקורס). לכן העדפתי לתת את הדוגמה הפשוטה. למי מכן אשר עובדת עם מהדר אחר: נא להורות למהדר שלא לאכסן 'קבועי מחרוזת' באזורים אסורים לכתיבה. לדוגמה, מי שמשתמשת במהדר gcc צריכה להוסיף לשורת-הפקודה את האפשרות -fwritable-strings . תודה לנימרוד פרטוש שהזכיר לי את העניין; עמכן הסליחה על כך שלא ציינתי זאת קודם לכן. " יש פה פתרון לבעיה בשביל GCC (מה זה בכלל GCC), איך אני פותר את הבעיה בVS 6, הוא לא אוהב שלא מקצים מקום ל*CHAR ועושה לי ERROR של וינדוס, שהתוכנית חייבת להסגר. לפי מה שהוא אמר יש משהוא שאפשר לעשות בMSVC שגם שם אני אוכל להסתדר. אגב אם מישהוא רוצה לראות את הפונקציה שלא עובדת, זה בלינק שנתתי לשיעורי בית שלי, הפונקציה element swap