בעיה בקוד C קל - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

בעיה בקוד C קל


The-Q

Recommended Posts

התחלתי ללמוד 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);
}

מה הבעיה??

קישור לתוכן
שתף באתרים אחרים

הממ, הקוד נראה דווקא בסדר..

באיזה קומפיילר אתה משתמש?

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

ולא היית צריך לרשום את ה

else exit(0)

בפונקציה; התוכנה נסגרת בכל מקרה..

קישור לתוכן
שתף באתרים אחרים

אני לא מכיר את הקומפילטור הזה, אבל אני מנחש שהתוכנית עושה בדיוק מה שהיא צריכה אבל פשוט חלון הפלט נסגר מיד אחרי שהתוכנית מתבצעת ולכן אתה לא רואה את מה שכתבת. פתרון פשוט לכך יהיה להוסיף את הפקודה getch(); או getchar(); בסוף התוכנית, וכך התוכנית תסתיים רק אחרי שאתה תלחץ על כפתור כלשהו...

עכשיו, בעניין ה exit(0) , אתה לא חייב לעשות את זה כי התכנית במילא תסתיים אחרי שהיא תצא מהפונק' test1 ואח"כ מ main...

קישור לתוכן
שתף באתרים אחרים

זה היה אמור להיות exit(1), אבל לא משנה, כנראה טעיתי.

בכל מקרה, ניסיתי לקמפייל את אותה התוכנה בדיוק עם CC שבלינוקס שלי, וכמובן שהכל עבד מצויין.

בכל מקרה, תודה רבה.

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...