05-01-2009, 10:37
|
|
|
חבר מתאריך: 05.01.09
הודעות: 2
|
|
התכנית לא עובדת
אני מנסה להריץ את התכנית הזו כדי לנסות ללמוד קצת רקורסיה והיא לא מתקמפלת לי
#include<stdio.h>
void main()
{
char arr[4];
abc(arr,3,0);
}
void abc(char arr[4],int lastPlace, int curPlace)
{
if (curPlace == lastPlace)
{
arr[curPlace]='\0';
printf("%s\t",arr);
return;
}
arr[curPlace] = 'a';
abc (arr,lastPlace,curPlace+1);
arr[curPlace] = 'b';
abc (arr,lastPlace,curPlace+1);
arr[curPlace] = 'c';
abc (arr,lastPlace,curPlace+1);
}
הפונ' עצמה בטוח נכונה (מהתרגול), משהו בקריאה לה ובמיין כנראה לא תקין..
.אשמח אם תעזרו לי.
ועוד שאלה- כל הרעיון של רקורסיה- ברגע שבתכנית הזו המחשב ידפיס aaa- איך הוא יודע לעבור לaab? הrturn הרי אומר לו לחזור למי שקרא לקטע הזה ומי שקרא לקטע הזה הוא aaa- איך משם הוא מדלג על הa האחרון?
סורי שהעתקתי את זה לכאן על הפנים...
תודה ויום טוב!
|