פורסם 2002 בנובמבר 1623 שנים התחלתי ללמוד C, וניסיתי להכין תוכנית פשוטה, רק כדי לראות אם מה שלמדתי נכון.התוכנית מבקשת ממך להכניס מספר, אם הוא אפס, היא יוצאת מהתוכנית, אם הוא כל מספר אחר, היא אומרת משהו בתוספת המספר.אני מצליח להפעיל את התוכנית, היא עובדת, אבל לא משנה איזה מספר אני מכניס היא יוצאת מהתוכנית.הנה הקוד:#include <stdio.h>void test1(int quit_hi2){if(quit_hi2 != 0){printf("\nHello World\n");printf(" %d", quit_hi2);}else{exit(0);}}main(){int quit_hi;printf("Please enter any number. 0 means quit : ");scanf("%d", &quit_hi);test1(quit_hi);}מה הבעיה??
פורסם 2002 בנובמבר 1623 שנים הממ, הקוד נראה דווקא בסדר..באיזה קומפיילר אתה משתמש?יכול להיות שהתוכנה עובדת בסדר, אבל אחרי שהיא מדפיסה את המספר היא פשוט נסגרת, ואתה לא רואה את מה שהיא מדפיסה..ולא היית צריך לרשום את הelse exit(0)בפונקציה; התוכנה נסגרת בכל מקרה..
פורסם 2002 בנובמבר 1623 שנים מחבר לא הבנתי למה אתה מתכוון, בעיקר בחלק השני של ההודעה שלך.אני משתמש בקומפיילר של Digital Mars.
פורסם 2002 בנובמבר 1623 שנים אני לא מכיר את הקומפילטור הזה, אבל אני מנחש שהתוכנית עושה בדיוק מה שהיא צריכה אבל פשוט חלון הפלט נסגר מיד אחרי שהתוכנית מתבצעת ולכן אתה לא רואה את מה שכתבת. פתרון פשוט לכך יהיה להוסיף את הפקודה getch(); או getchar(); בסוף התוכנית, וכך התוכנית תסתיים רק אחרי שאתה תלחץ על כפתור כלשהו...עכשיו, בעניין ה exit(0) , אתה לא חייב לעשות את זה כי התכנית במילא תסתיים אחרי שהיא תצא מהפונק' test1 ואח"כ מ main...
פורסם 2002 בנובמבר 1623 שנים מחבר זה היה אמור להיות exit(1), אבל לא משנה, כנראה טעיתי.בכל מקרה, ניסיתי לקמפייל את אותה התוכנה בדיוק עם CC שבלינוקס שלי, וכמובן שהכל עבד מצויין.בכל מקרה, תודה רבה.
פורסם 2002 בנובמבר 1623 שנים המספר שאתה מכניס ל exit הוא לא כל כך רלבנטי כרגע, כי זה פשוט קובע את הערך שהתוכנה תחזיר למערכת ההפעלה ולכן זה לא ממש משנה...
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.