这是我可以使用宏而不是递归来避免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;
}
仍然我得到分段错误...仍然堆栈溢出....为什么?
你到底要计划做什么,为什么?为什么不使用循环? –