蒻姬★彡 2022-03-12 19:26 采纳率: 100%
浏览 24
已结题

为什么有时候只输出10.2,有时候是10.2 0.0

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
#include<stdio.h>
#include <malloc.h>
typedef struct Node
{
    char instruct[10];
    long int num;    //学号
    char name[20];  //姓名
    char sex[2];    //性别
    double chinese; //语文
    double math;    //数学
    double english; //英语
    struct Node* next;
} PolyNode, * PolyList;

PolyList createList(){
    PolyList L;
    L = (PolyList)malloc(sizeof(PolyList));
    L->next = NULL;

    return L;
}

void insertTail(PolyList L,double math) {
    Node* p = L->next;
    PolyList s,pre = L;
    s = (PolyList)malloc(sizeof(PolyList));
    while (p != NULL) {
        pre = p;
        p = p->next;
    }
    s->math = math;
    pre->next = s;
}

void printList(PolyList L) {
    Node* p = L->next;
    while (p != NULL) {
        printf("%.1lf ",p->math);
        p = p->next;
    }
}

int main() {
    char a[10];
    PolyList L;
    L = (PolyList)malloc(sizeof(PolyList));
    L->next = NULL;
    insertTail(L, 10.2);
    printList(L);
}

img

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-03-12 19:43
    关注

    L = (PolyList)malloc(sizeof(PolyList));
    改为
    L = (PolyList)malloc(sizeof(PolyNode));
    你要申请的是PolyNode结构体大小空间,但PolyList是个指针,只能申请4个字节空间
    17、26行都是这样

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

报告相同问题?

问题事件

  • 系统已结题 3月20日
  • 已采纳回答 3月12日
  • 创建了问题 3月12日

悬赏问题

  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解
  • ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
  • ¥15 three.js添加后处理以后模型锯齿化严重
  • ¥15 vite打包后,页面出现h.createElement is not a function,但本地运行正常