为了账号安全,请及时绑定邮箱和手机立即绑定

数据结构用c语言进行顺序表的插入操作为什么前面一个表能显示后面一个不能?

数据结构用c语言进行顺序表的插入操作为什么前面一个表能显示后面一个不能?

慕设计4085518 2016-10-15 11:31:16
void main(){#ifdef Se   SqList La,Lb;   Status h;   int j, n=5, k;   h=InitList(&La);   /* 返回值可用于判断是否创建成功 */           if(h=0);    /* 创建空表La成功 */     for(j=1;j<=n;j++)  /* 在表La中插入5个元素1 2 3 4 5 */       h=ListInsert(&La,j,j);   printf("表中元素La = ");      /* 输出表La的内容 */   for(j=0;j<=n;j++)     printf("%4d",La.elem[j]);     printf("\n");   printf("再插入一个元素99\n");     ListInsert(&La,j,99);   printf("表中元素La = ");   for(j=0;j<=n;j++)     printf("%4d",La.elem[j]);     printf("\n");#else   SqList Lb;   int j, n=5, k;   InitList(&Lb);   for(j=1;j<=n;j++) /* 在表Lb中插入5个元素2 4 6 8 10 */     ListInsert(&Lb,j,2*j);   printf("表Lb = "); /* 输出表Lb的内容 */   for(j=0;j<n;j++)     printf("%4d",Lb.elem[j]);     printf("\n");     printf("再插入一个元素88\n");     ListInsert(&La,j,88);   printf("表中元素Lb = ");   for(j=0;j<=n;j++)     printf("%4d",Lb.elem[j]);     printf("\n");表A能够显示出来 表b不能显示出来?有同学说是前面se没有进行消除,为什么要消除?怎么样消除?
查看完整描述

1 回答

?
这个人居然用鼻孔怼我

TA贡献1条经验 获得超0个赞

楼主代码并未给全。

#ifdef,#else,#endif是一个三段式的条件编译结构,根据楼主给出的部分语句,用法应如下:

    #ifdef SE     //若SE通过#define(一般情况下)被定义则执行if之后,else之前的程序。

    #else           //否则则执行else之后,endif之前的程序。

    #endif        //用于末尾,结束条件编译。

若想改变输出结果,则需建立或删除对SE(一般情况下为#define SE X,X为任意值)的定义即可(整句删除可执行else,再添加该句可执行if)。

查看完整回答
反对 回复 2016-10-19
  • 1 回答
  • 1 关注
  • 1939 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信