delin10 2016-11-02 15:24 采纳率: 100%
浏览 1013
已采纳

这里哪有不合法操作?请大神解答

#include
typedef int ElemType;
typedef struct
{
int data[20];
char name[20];
char sex[5];
char job[20];
int weight;
int height;
int length;
}sqlist;
void initlist(sqlist*);
void output(sqlist*);
int main()
{
sqlist list,*L;
L=&list;
initlist(L);
int i,j;
for (i=0;ilength;i++)
{
printf("请输入第%d个数字\n",i+1);
scanf("%d",&L->data[i]);
}
printf("please input your name:");
gets(L->name);
output(L);
return 0;
}
void initlist(sqlist*L)
{
L->weight=0;
L->height=0;
L->length=&L->data[20]-&L->data[0]+1;
}
int getlen(sqlist*L)
{
return L->length;
}
int getelem(sqlist*L,int i,ElemType *e)
{
if (L->data[i-1]==NULL)
{
printf("The datastruct is NULL\n");
return 0;
}
if (i=L->length)
{
printf("the num is illegal!");
return 0;
}
*e=L->data[i-1];
return 1;
}
int insert(sqlist*L,int i,ElemType x)
{
int j;
if (i>L->length+1)
{
printf("No enough memory!");
return 0;
}
if (i {
printf("it's illegal!");
return 0;
}
for (j=L->length-1;i>=i-1;j++)
{
L->data[j+1]=L->data[j];
}
L->data[i-1]=x;
return 1;
}
ElemType *delete(sqlist*L,int i,ElemType*e)
{
int j;
if (iL->length)
return 0;
*e=L->data[i-1];
for (j=i;jlength;j++)
{
L->data[i-1]=L->data[i];
}
return e;
}
void output(sqlist*L)
{
int i;
for(i=0;ilength;i++)
{
printf("%-3d",L->data[i]);
}
puts("\n");
puts(L->name);
}

  • 写回答

2条回答 默认 最新

  • 不愿回忆007 2016-11-02 15:32
    关注

    include 后面没跟东西,for循环里的ilength是写错的吧,格式规范点哦

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题