user-0 提问: 帮我改下，初学者实在不会

回复:
user: user-1
content: 不知道你问的是什么

user: user-2
content: 要先学会问问题！这样子谁给你解答嘛。。。

user: user-3
content: #include<stdio.h> #include<malloc.h> #include<iostream.h> #include<stdlib.h> #include<string.h> typedef struct { char *elem; int length; }Sqlist; int Initlist(Sqlist *L) { L->elem=(char *)malloc(100*sizeof(char)); if(!L->elem)  exit(-2);  L->length=0;  return 1; }  int Listlength(Sqlist *L) { return L->length; } //在顺序表L的第i个位置前插入元素e,i的合法值为1..L.length+1 int ListInsert(Sqlist *L,int i,char e) { if(i<1||i>L->length +1)  return 0; char *q=&L->elem[i-1];  for(char *p=&L->elem[(L->length)-1];p>=q;p--) { *(p+1)=*p; } *q=e; ++L->length ;  return 1; } //创建顺序表 int CreatList(Sqlist *L,char a[],int n) { int len=Listlength(L); for(int i=0;i<n;i++) { if(a[i]>='a'&&a[i]<='z') ListInsert(L,++len,a[i]); }  return 1; } //返回线性表中的元素 int Getelem(Sqlist *L,int i,char e) { if(i<=0||i>L->length )   return 0;  else e=L->elem[i-1]; return 1;  } int Delete(Sqlist *L,int i,char e) { char *q,*p; if(i<1||i>L->length) return 0;  q=&L->elem[i-1]; e=*q; p=&L->elem[(L->length)-1]; for(++q;q<=p;q++) { *(q-1)=*q; } L->length--;  return 1;  }  int equal(char e1,char e2) { if(e1==e2) return 1; else return 0; }  int LocateElem_Sq(Sqlist *L, char e,  int  (*compare)(char,char))//函数指针的实质是指针，*compare（compare）为指向返回为int，参数表为（char，char）的函数的指针； {     char *p=L->elem;   //p指向第一个元素     int i=1;          while(i<=L->length&&!(*compare)(*p++,e)) ++i;     if(i<=L->length)  return(i);     else  return 0; } void BingJi(Sqlist *La,Sqlist *Lb) { char e=0; int la_len=Listlength(La); int lb_len=Listlength(Lb); for(int i=1;i<lb_len;i++) { Getelem(Lb,i,e); if(LocateElem_Sq(La,e,equal)==0)  ListInsert(La,++la_len,e);  } } void Jiaoji(Sqlist *la,Sqlist *lb,Sqlist *lc) { int la_len=Listlength(la); int lb_len=Listlength(lb); int lc_len=Listlength(lc); for(int i=0;i<la_len;i++) for(int j=0;j<lb_len;j++) { if(la->elem[i]==lb->elem[j]) {  ListInsert(lc,++lc_len,la->elem[i]);  break; } else continue; }  } void Chaji(Sqlist *la,Sqlist *lb,Sqlist *lc) { char e,u,f=0; int la_len=Listlength(la); int lb_len=Listlength(lb);  Jiaoji(la,lb,lc); int lc_len=Listlength(lc);  for(int i=0;i<la_len;i++) e=Getelem(la,++i,e); for(int j=0;j<lc_len;j++) { u=Getelem(lc,++j,u); if(e==u) { Delete(la,i,f); }  } return ; } int main(void)//主函数实现 { char a1[100],a2[100]; char e=0,u=0,k=0; int c; printf("*************************************************************************\n"); printf("清选择操作：***1***运行程序\n"); printf("            ***2***退出程序"); printf("**************************************************************************\n"); printf("请输入："); scanf("%d",&c);  if(c==1) { printf("请输入集合一："); gets(a1); int n1=strlen(a1); printf("请输入集合二："); gets(a2); int n2=strlen(a2); Sqlist la,lb,lc,l1; Initlist(&la); Initlist(&lb); Initlist(&lc); Initlist(&l1); CreatList(&la,a1,n1); CreatList(&lb,a2,n2); printf("交集运算结果：\n"); Jiaoji(&la,&lb,&lc); for(int i=1;i<=(&lc)->length;i++) {  printf("%c",(&lc)->elem[i-1]); } printf("并集运算结果是：\n"); BingJi(&la,&lb); for(int p=1;p<=(&la)->length;p++) {  printf("%c",(&la)->elem[p-1]); } printf("差集运算结果是：\n"); Chaji(&la,&lb,&l1); for(int q=1;q<=(&la)->length;q++) {  printf("%c",(&la)->elem[q-1]); }  } else exit (0);  return 0; } 应该用这种形式