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)。
- 1 回答
- 1 关注
- 1950 浏览
添加回答
举报
0/150
提交
取消