猿问

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

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没有进行消除,为什么要消除?怎么样消除?

慕设计4085518
浏览 1940回答 1
1回答

这个人居然用鼻孔怼我

楼主代码并未给全。#ifdef,#else,#endif是一个三段式的条件编译结构,根据楼主给出的部分语句,用法应如下:    #ifdef SE     //若SE通过#define(一般情况下)被定义则执行if之后,else之前的程序。    #else           //否则则执行else之后,endif之前的程序。    #endif        //用于末尾,结束条件编译。若想改变输出结果,则需建立或删除对SE(一般情况下为#define SE X,X为任意值)的定义即可(整句删除可执行else,再添加该句可执行if)。
随时随地看视频慕课网APP
我要回答