עזרה ב-C
יש לי תרגיל ברשימות מקושרות, ופתאום צץ איזה באג שלא היה קודם. הפונקציה שלי קוראת מספרים לתוך רשימה מקושרת ans. ניסיתי להדפיס את הרשימה והיא הודפסה. אבל .. הוא לא עובר את ה return (*ans) . התוכנה פשוט עפה. אני בטוחה שהוא לא עובר, כי מיד אחרי הקריאה ל multidig הדפסתי משהו והוא לא הודפס. קוד מפורט יותר:
תודה מראש! (אם מישהו רוצה להמשיך לעזור לי אונליין, אני במסנג'ר ב [email protected] או בICQ ב 2451878. בכל מקרה אני אבדוק גם בפורום, מן הסתם)
יש לי תרגיל ברשימות מקושרות, ופתאום צץ איזה באג שלא היה קודם. הפונקציה שלי קוראת מספרים לתוך רשימה מקושרת ans. ניסיתי להדפיס את הרשימה והיא הודפסה. אבל .. הוא לא עובר את ה return (*ans) . התוכנה פשוט עפה. אני בטוחה שהוא לא עובר, כי מיד אחרי הקריאה ל multidig הדפסתי משהו והוא לא הודפס. קוד מפורט יותר:
int main() { Node *tmp; // מדלגת על קוד לא רלוונטי *tmp = eval(input,0,len); printList(tmp); } Node eval(char str[],int start, int len) { // מדלגת על קוד לא רלוונטי if (isop(str[start])==5) { // that's the condition i get printf("starting"); return multidig(str,start+1); printf("ending"); } Node multidig(char str[],int r){ // get a multi dig num Node *ans = createNode(1); int len=1,i; // כאן יש פונקציה ששמה ערך ב len // דילגתי כי גם היא לא רלוונטית for (i=len; i>=r; i--) { // insert num insertList(&ans,str-48); } // כאן שמתי פקודה שמדפיסה את הרשימה והיא עבדה כמו גדולה return *ans; } // end multidig
תודה מראש! (אם מישהו רוצה להמשיך לעזור לי אונליין, אני במסנג'ר ב [email protected] או בICQ ב 2451878. בכל מקרה אני אבדוק גם בפורום, מן הסתם)