עבור לתוכן

סיבות להפסקת ריצת תוכנית - C

Featured Replies

פורסם

מה יכול לגרום להפסקה של ריצת תוכנית בC (בכלליות).

כמובן שהתוכנית עוברת את הקומפילציה בלי ארור/אזהרה...

פורסם

שגיאות זמן ריצה, כמובן. דריכות זכרון, גישה לזיכרון שלא הוקצה, חלוקה ב-0 וכדומה.

פורסם
  • מחבר

אם אני עובד עם TC יש לי איזשהיא דרך לעקוב אחרי המשתנים/זכרון וכו'..?

פורסם

גם אם למשל עשית switch והגעת למצב בתוכנית שלא מופיע באחד ה case-ים

ולא כתבת מצב של default כמובן.

פשוט נזכרתי בטעויות שלי בפרוייקט חח

עריכה: לא נראה לי שאפשר לעקוב ב TC אחרי המשתנים ..תעבור לvisual studio יותר נוחה בהרבה ואפשר לעקוב אחרי המשתנים והכל.

פורסם
  • מחבר

אני צריך לעבוד בTC. וקראתי איפשהוא שלא חייב לעשות DEFAULT לSWITCH, אם אין שום CASE הוא פשוט יצא מזה.. לא?

פורסם

לא נראה לי .

ולמה אתה צריך לעבוד דווקא ב TC ?

פורסם
  • מחבר

זה הדרישה...

זה לא שאני מעדיף את TC המעפן על VC...

עריכה:

יש משהו שאני צריך לדעת על קריאות רצופות של PRINTF וSCANF?

פורסם

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

אבל ברוב המקרים אתה לא צריך לדעת עליהם יותר מאיך לכתוב אותם בצורה הנכונה.

פורסם

וזה בדיוק יכול להיות מה שגרם לבעיה - אם קראת לאחת מהן בצורה לא נכונה.

פורסם
  • מחבר

קחו חלק התוכנית שלי (הוא עוצר לפני הקלט השני...).


int main()
{
int gameSize, startGame=1, i, j;
char xGame;
for (i=0;i<N;i++)
for(j=0;j<N;j++)
a[i][j]=22;
while (startGame==1)
{
clrscr();
printf("Enter the size of the game that you wish to play(3-11):");
scanf("%d",&gameSize);
if(gameSize<3 || gameSize>11)
return(0);
printf("Chose the starter(X/0):");
scanf("%c",&xGame);
if(xGame!='x' || xGame!='0')
return(0);
clrscr();
drawFrame(gameSize);
playGame(gameSize,xGame);
printf("Enter '1' to start over or anything else to quit:");
scanf("%d",&startGame);
}
return 0;
}

--------------------

int drawFrame(int size)
{
int i, x, y;
x=40-(size*2);
y=13-size;
gotoxy(x,y);
size=(size*2)+1;
for(i=0;i<size;i++)

פורסם

יכול להיות שהתכנית פשוט יוצאת בגלל אחד ה-return-ים?

פורסם
  • מחבר

לא. ניסיתי למחוק אותם וזה לא שינה.

פורסם

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

פורסם

אולי אם תראה יותר מהתוכנית נוכל למצוא את הבעיה..

והצעה שלי אל תעשה ישר return 0

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

פורסם

תרוץ בDEBUG ותראה איפה התוכנית שלך יוצאת.

ארכיון

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

דיונים חדשים