泫溯 2024-10-02 15:26 采纳率: 94.7%
浏览 7
已结题

C语言运行出错为什么啊·


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
const int n = 41;
typedef struct {
    int data;
     struct Node* next;

}Node, * CircleList;
void InitList(CircleList L)
{
    L->data = NULL;
    L->next = NULL;
    printf("初始化成功\n");
}
void DeleteList(CircleList L, int i)// 删除表中第i个元素
{
    CircleList head = (CircleList*)malloc(sizeof(CircleList));
    CircleList r = (CircleList*)malloc(sizeof(CircleList));
    head = L;
    r = &head;
    int j = 0;

    while (r && (i - 1) > j)
    {
        r = r->next;
        j++;
    }
    CircleList m = (CircleList*)malloc(sizeof(CircleList));
        r->next=m;
        r->next = m->next;
        free(m);
    L = head;
    free(r);
    printf("del ok\n");
}
void Add(CircleList L) {//初始化人的序号
    int a;
    CircleList head = (CircleList*)malloc(sizeof(CircleList));
    CircleList c = (CircleList*)malloc(sizeof(CircleList));
    head->data = 1;
    head->next = NULL;
    c =&head;
    int i = 0;
    for (i = 2; i < n+1; i++)
    {
        CircleList p = (CircleList*)malloc(sizeof(CircleList));
        p->data = i;
        p->next = NULL;
        c->next=p;
        c = c->next;
        
    }
    c->next = head;
    L =& head;
    printf("add ok\n");
}


int Live(CircleList L) //返回存活的人的编号
{
    int total = n;
    int j = 1;
    int count = 0;
    CircleList head= (CircleList*)malloc(sizeof(CircleList));
    head = L;
    CircleList p = (CircleList*)malloc(sizeof(CircleList));
    p =&head;
    for (j; j < total; j++)
    {
        if (total <=2)
        {
            return p->data;
            break;
        }
        p = p->next;
        count++;
        int judge = (count + 1) % 3;
        if (judge) {
            DeleteList(head, count); total--;
        }

        

    }

}
int main()
{
    CircleList L=NULL;
    InitList(&L); //传地址
    Add(&L);
    DeleteList(&L, 2);
    printf("%d", Live(L));
    return 0;
}

这个c语言代码总是报错,为什么呢,怎么改啊

img

  • 写回答

1条回答 默认 最新

  • zsr旺财97 2024-10-02 17:32
    关注

    能不能稍微描述一下你要干什么
    目前我觉得是你的typedef 和 struct的语法写的有问题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月14日
  • 已采纳回答 10月6日
  • 创建了问题 10月2日