|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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;
- }
- }
-
- }
复制代码 |
|