Never_Settle 2016-03-19 03:42 采纳率: 66.7%
浏览 1424
已采纳

小白刚学数据结构,有问题请教,求大神解答

请大神帮我看一下代码有什么问题,我一直找不出问题在哪里
#include
#include
#include

#define maxsize 100;
typedef char datetype;
typedef struct
{
datetype date[maxsize];
int len;
}sq;
void creatlist(sq *L)
{
int n;
int i;
char tmp;
printf("请输入一个数字给n:");
scanf("%d", &n);
for (i = 0;i < n;i++)
{
printf("date[%d]=", i);
fflush(stdin);
scanf("%c", &tmp);
L->date[i] = tmp;
}
L->len = n - 1;
printf("\n");
}
void printout(sq *L)
{
int i;
for (i = 0;i <= L->len;i++)
{
printf("date[%d]=", i);
printf("%c\n", L->date[i]);
}
}
void main()
{
sq *L;
char cmd, x;
L = (sq *)malloc(sozeof(sq));
creatlist(L);
printout(L);
system("pause");

}

  • 写回答

1条回答

  • 白日梦想jun 2016-03-19 04:04
    关注

    // #define maxsize 100 后面没有分号
    // L = (sq *)malloc(sizeof(sq)); 你写错了sizeof

    #include<stdio.h>
    #include<stdlib.h>
    #define maxsize 100
    typedef char datetype;
    typedef struct
    {
        datetype date[maxsize];
        int len;
    }sq;
    void creatlist(sq *L)
    {
    int n;
    int i;
    char tmp;
    printf("请输入一个数字给n:");
    scanf("%d", &n);
    for (i = 0;i < n;i++)
    {
    printf("date[%d]=", i);
    fflush(stdin);
    scanf("%c", &tmp);
    L->date[i] = tmp;
    }
    L->len = n - 1;
    printf("\n");
    }
    void printout(sq *L)
    {
    int i;
    for (i = 0;i <= L->len;i++)
    {
    printf("date[%d]=", i);
    printf("%c\n", L->date[i]);
    }
    }
    void main()
    {
    sq *L;
    char cmd, x;
    L = (sq *)malloc(sizeof(sq));
    creatlist(L);
    printout(L);
    system("pause");
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器