עזרה ב-C

ailag

New member
עזרה ב-C

יש לי תרגיל ברשימות מקושרות, ופתאום צץ איזה באג שלא היה קודם. הפונקציה שלי קוראת מספרים לתוך רשימה מקושרת 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. בכל מקרה אני אבדוק גם בפורום, מן הסתם)
 

ailag

New member
בעיה חדשה

התוכנה *עבדה* ! ועכשיו כשאני מקמפלת אני מקבלת [warning]: 'main' is normally a non-static function הנה main:
int main() { int len=0; char input[100]; Node *tmp; while (scanf("%c",&input[len])!=EOF) { if (input[len]!=' ')len++; } len-=2; tmp = eval(input,0,len); printf("\nfinal answer: "); printList(reverse(tmp)); freeList(tmp); system("pause"); // remove return 0; }​
WTF?
 

ailag

New member
וכשאני מבטלת את -Wall

מה GCC, אני רק מקבלת parse error at end of input.
 

ailag

New member
אולי אני צריכה להציף פה

רק אחרי שאני כותבת פה דברים נפתרים
 

DadleFish

New member
שאלות

1. תעלי את כל התוכנית לכאן. 2. באיזה switch-ים את משתמשת ב-gcc? 3. תדאגי שהשורה האחרונה של הקובץ תהיה שורה ריקה.
 

galh

New member
יש הצהרה על main לפני המימוש?

תנסי להגדיר את main בצורה "הקלאסית" של: (int main(int argc, char* argv זה פורום, צריך סבלנות, לא להציף או להקפיץ. תני לאנשים להתעורר, להתחבר לאינטרנט ולגמור לשתות ת'קפה של הבוקר.
 
למעלה