RelexCao 2021-12-16 13:45 采纳率: 100%
浏览 22
已结题

无法实现输入超期图书信息链表后的输出,不知道输入输出哪里出现问题,如何解决?

问题遇到的现象和发生背景

输出结果为:

img

问题相关代码,请勿粘贴截图
#pragma warning(disable:4996) //禁用Vusial Studio的数据溢出出错提示

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <string.h>
#include <math.h>

#define LOSCXX sizeof(struct scxx)  //首次输入的图书超期信息长度





struct scxx   //首次输入的图书超期信息
{
    char grxx[30];  //个人
    char bjxx[30];  //班级
    char tsxx[30];  //图书信息
    int cqts; //超期多少天
    int fkje; //罚款金额
    struct scxx *next;
};
int n;
struct scxx*creatsc(void) //返回指针的函数
{
    struct scxx *head;
    struct scxx *ps1, *ps2;
    n = 0;
    ps1 = ps2 = (struct scxx*)malloc(LOSCXX);
    scanf("%s,%s,%s,%d,%d", &ps1->grxx, &ps1->bjxx, &ps1->tsxx, &ps1->cqts, &ps1->fkje);
    head = NULL;
    while(strcmp(ps1->grxx,"end") != 0)
    {
        n = n + 1;
        if (n == 1)head = ps1;
        else ps2->next = ps1;
        ps2 = ps1;
        ps1 = (struct scxx*)malloc(LOSCXX);
        scanf("%s,%s,%s,%d,%d", &ps1->grxx, &ps1->bjxx, &ps1->tsxx, &ps1->cqts, &ps1->fkje);
    }
    ps2->next = NULL;
    return(head);
}

void print(struct scxx*head)
{
    struct scxx* p;
    p = head;
    if(head!=NULL)
        do { printf("%s,%s,%s,%d,%d", p->grxx, p->bjxx, p->tsxx, p->cqts, p->fkje);
    p = p->next;

    } while (p != NULL);
}



int main()
{
    struct scxx *head;
    head = creatsc();
    print(head);
    return 0;
}

运行结果及报错内容

![img](
更改输入输出类型

我想要达到的结果

实现超期图书链表的输入和输出https://img-mid.csdnimg.cn/release/static/image/mid/ask/49813533693617.png "#left")

  • 写回答

1条回答 默认 最新

  • 不务正业的学长 2021-12-16 15:02
    关注

    1、把scanf("%s,%s,%s,%d,%d", &ps1->grxx, &ps1->bjxx, &ps1->tsxx, &ps1->cqts, &ps1->fkje);改为
    scanf("%s",&ps1->grxx);
    scanf("%s",&ps1->bjxx);
    scanf("%s",&ps1->tsxx);
    scanf("%d",&ps1->cqts);
    scanf("%d",&ps1->fkje);
    2、估计你是才初学C语言,调试一下,就能看见,你之前那样赋值的话,字符串全赋值给ps1->grxx。
    3、下图是我用你的代码调试,输入字符串查看ps1的值。

    img

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

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月17日
  • 已采纳回答 12月16日
  • 创建了问题 12月16日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装