這是我可以使用宏而不是遞歸來避免segmantion錯誤嗎?
How can i remove this Segmentation fault in C Program
這裏由於遞歸分段故障發生,因爲堆棧溢出的擴展問題,所以曼尼次
,所以我已經改變了他的代碼,這樣的..
做一個MACRO的功能,因此功能呼叫被刪除
#include <stdio.h>
static inline void p(char *a, int b);
#define MAGIC(a,b) p(a,b)
void p(char *a, int b)
{
static long int i = 0;
if (i != 350000)
{
printf("\n%ld \t at Hi hello", i);
i++;
return MAGIC(a, b);
} else
{
return;
}
}
int main()
{
char *a = "HI";
int b = 10;
MAGIC(a, b);
printf("\nComplete");
return 0;
}
仍然我得到分段錯誤...仍然堆棧溢出....爲什麼?
你到底要計劃做什麼,爲什麼?爲什麼不使用循環? –