马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
大佬们,我这段代码里面有地方无限递归了,导致栈溢出,但是我又找不到问题在哪里,所以请求一下帮助int CreateGList(GList& LS, char* K) {
char* hsub;
char* M;
M = (char*)malloc(20 * sizeof(char));
int LEN = strlen(K);
SubStr(M, K, 1, LEN);
if ((M == "") || (M == NULL)) {
LS = NULL;
return 1;
}
else{
if (!(LS = (GList)malloc(sizeof(GLNode)))) {
printf("OVERFLOW!");
return -1;
}
if (LEN == 3) {
LS->tag = ATOM;
LS->atom =M[0];
return 1;
}
else {
sever(M, hsub);
LS->tag = LIST;
CreateGList(LS->ptr.hp, hsub);
CreateGList(LS->ptr.tp, M);
return 1;
}
}
}
|