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

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

请大神帮我看一下代码有什么问题,我一直找不出问题在哪里
#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");
    }
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题