#include <stdio.h>
void reverse(int i);
int main()
{
reverse(1);
}
void reverse(int i)
{
if (i > 5)
exit(0);
printf("%d\n", i);
return reverse(i++);
}
#include <stdio.h>
void reverse(int i);
int main()
{
reverse(1);
}
void reverse(int i)
{
if (i > 5)
return ;
printf("%d ", i);
return reverse((i++, i));
}
第一個為什麼會堆棧溢出,不是有i++麼?
第二個為什麼又可以?
i++ 傳的參數是++之前的值,每次調用的都是 reverse(1); 所以會不停的遞歸 直到溢出