小yuan不搜题 2021-10-27 15:47 采纳率: 100%
浏览 39
已结题

为什么dev c++运行程序后输出的是文件位置?


#include <stdio.h>
#include <stdlib.h>

typedef struct {
    char name[20];
    int tele[20];
} ever;

typedef struct Node {
    ever e;
    struct Node *next;
} node;

void creat(node *L, int n) {
    node *H, *p;
    L = (node *)malloc(sizeof(node));
    L->next = NULL;
    H = L;
    for (int i = 0; i < n; i++) {
        p = (node *)malloc(sizeof(node));
        p->next = NULL;
        scanf("%s", p->e.name);
        scanf("%s", p->e.tele);
        H->next = p;
        H = H->next;
    }
}

int main() {
    node L;
    creat(&L, 2);
    printf("of");
    while (L.next) {
        printf("%s %s", L.next->e.name, L.next->e.tele);
        L = *L.next;
    }
    return 0;
}


```

  • 写回答

2条回答 默认 最新

  • 关注

    你第31行 node L;这里L是局部变量,系统已经自动分配内存了,在create函数的时候,不需要再给L分配内存了。
    把第17行的 L = (node *)malloc(sizeof(node)); 这句注释掉就可以了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月4日
  • 已采纳回答 10月27日
  • 创建了问题 10月27日