69,381
社区成员
发帖
与我相关
我的任务
分享
#include"stdio.h"
#include"stdlib.h"
#define maxsize 5
typedef struct
{
int *elem;
int listlength;
}seqlist;
void initlist(seqlist *l)
{
(*l).elem=(int *)malloc(maxsize*sizeof(int));
(*l).listlength=0 ;
}
void print(seqlist *l)
{
int i=0;
for(i=0;i <l->listlength;i++)
printf("%d",l->elem[i]);
}
void inslist(seqlist *l,int x)
{
int i=0;
while(i <maxsize)
{
l->elem[i]=x;
l->listlength++;
i++;
}
}
void main()
{
int x;
seqlist *l;/*你程序中这一句话有问题,你只是声明了一个seqlist的指针,这个指针都没有分配空间,你下面的initlist就是用到了他,所以可定会出错。应该改成seqlist *l=(seqlist *)malloc(sizeof(seqlist));就可以了*/
initlist(l);
scanf("%d",&x);
inslist(l,x);
print(l);
}
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 5
typedef struct
{
int *elem;
int listlength;
}seqlist;
void initlist(seqlist *l)
{
if(NULL==l)
{
printf("Shit,no mark!")
exit(0);
}
(*l).elem = (int *)malloc(MAXSIZE*sizeof(int));
(*l).listlength = 0;
}
void print(seqlist *l)
{
int i;
for (i = 0; i < l->listlength; i++)
printf("%d ", l->elem[i]);
}
void inslist(seqlist *l, int x)
{
int i = 0;
while (i < MAXSIZE)
{
l->elem[i] = x;
l->listlength++;
i++;
}
}
int main(void)
{
int x;
seqlist *l=NULL;
initlist(l);
scanf("%d", &x);
inslist(l, x);
print(l);
free(l->elem);
free(l);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 5
typedef struct
{
int *elem;
int listlength;
}seqlist;
void initlist(seqlist *l)
{
if(NULL==l)
{
printf("Shit,no mark!")
return;
}
(*l).elem = (int *)malloc(MAXSIZE*sizeof(int));
(*l).listlength = 0;
}
void print(seqlist *l)
{
int i;
for (i = 0; i < l->listlength; i++)
printf("%d ", l->elem[i]);
}
void inslist(seqlist *l, int x)
{
int i = 0;
while (i < MAXSIZE)
{
l->elem[i] = x;
l->listlength++;
i++;
}
}
int main(void)
{
int x;
seqlist *l=NULL;
initlist(l);
scanf("%d", &x);
inslist(l, x);
print(l);
free(l->elem);
free(l);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 5
typedef struct
{
int *elem;
int listlength;
}seqlist;
void initlist(seqlist *l)
{
(*l).elem = (int *)malloc(MAXSIZE*sizeof(int));
(*l).listlength = 0;
}
void print(seqlist *l)
{
int i;
for (i = 0; i < l->listlength; i++)
printf("%d ", l->elem[i]);
}
void inslist(seqlist *l, int x)
{
int i = 0;
while (i < MAXSIZE)
{
l->elem[i] = x;
l->listlength++;
i++;
}
}
int main(void)
{
int x;
seqlist *l = malloc(sizeof(seqlist));
initlist(l);
scanf("%d", &x);
inslist(l, x);
print(l);
free(l->elem);
free(l);
return 0;
}