刚学数据结构导论,一个问题请教
这个什么地方出错了呀?我怎么也调不对
#include "stdio.h"
const MAX=10;//常量
typedef struct cool
{
int name[MAX];
int list;
}studay;
studay L;
void INSERT(studay L,int X,int i) //插入
{
int j;
if(L.list==MAX){
printf("溢出");
return;
}
if((i<1)||(i>L.list+1)){
printf("非法位子");
return;
}
for(j=L.list;j<=i;j--){
L.name[j]=L.name[j-1];
}
L.name[i-1]=X;
L.list=L.list+1;
return;
}
void main(){
L.list = 4;
INSERT(L,7,2);
//------------------输出--------------------------------//
printf("\n");
for(int t=0;t<MAX;t++){
printf("%d",L.name[t]);
}
printf("\n%d\n",L.list);
}
问题点数:20、回复次数:4Top
1 楼clqwhm()回复于 2003-11-02 18:50:25 得分 10
0000000000
4
Press any key to continue
调试通过啊Top
2 楼pipilang(皮皮狼)回复于 2003-11-02 20:00:57 得分 0
怪我没有说清楚~
我是想在第二个元素的地方插入一个7呀~
就是希望输出:
0070000000
Top
3 楼fiveyes(天才的剽窃如羚羊挂角无迹可寻)回复于 2003-11-02 20:37:14 得分 10
参数L应按引用传递,改成如下即可:(只是加个&)
void INSERT(studay &L,int X,int i) //插入
输出为
0700000000
5Top
4 楼pipilang(皮皮狼)回复于 2003-11-02 20:57:33 得分 0
原来如此!谢谢两位Top




