永发信息网

程序没有语法错误,内存越界了怎么修改??

答案:1  悬赏:10  手机版
解决时间 2021-07-21 09:50

#include <stdio.h>
#include <conio.h>
typedef int DataType ;
# define maxnum 20
typedef struct
{int data[maxnum];
int length;
}SeqList;

int insert(SeqList &L , int i , DataType x)

{ int j ;
if( i<0 || i>(L).length +1)
{ printf(" \n i 值不合法 ! ");
return 0;
}
if((L).length >=maxnum-1)
{ printf(" \n 表满不能插入!");
return 0;
}
for(j=(L).length;j>=i;j--) (L).data[j+1]=(L).data[j];
(L).data[i] = x;
(L).length++;
return 1;
}

int delete1( SeqList L ,int i)

{ int j ;
if( i<0|| i>(L).length )
{ printf(" \n 删除位置错误 ! ") ;
return 0;
}
for(j=i+1;j<=(L).length;j++)
(L).data[j-1] =(L).data[j];
(L).length--;
return 1;
}


void creatlist(SeqList *L)
{ int n , i ;
printf("请输入顺序表 L 的数据个数:\n") ;
scanf("%d" , &n) ;
for(i=0 ; i<n ; i++)
{ printf("data[%d] =" , i) ;
scanf("%d",&((*L).data[i]));
}
(*L).length=n-1;
printf("\n") ;
}


printout(SeqList *L)
{ int i ;
for (i=0 ; i<=(*L).length ; i++)
{ printf(" data[%d]=", i) ;
printf("%d", (*L).data[i]);
}
printf("\n");
return 1;
}

main()
{ SeqList *L ;
char cmd ;
int i , x;
//clrscr() ;
creatlist(L);
do
{
printf("\ni , I ----- 插入\n") ;
printf("d , D ----- 删除\n") ;
printf("q , Q ----- 退出\n") ;
do
{cmd=getchar() ;
}while((cmd!='i')&&(cmd!='I')&&(cmd!='d')&&(cmd!='D')&&(cmd!='q')&&(cmd!='Q'));
switch(cmd)
{ case 'i':
case 'I':
printf("\nPlease input the DATA: ");
scanf("%d",&x) ;
printf("\nWhere? ");
scanf("%d",&i) ;
insert(*L,i,x) ;
printout(L);
break ;
case 'd':
case 'D' :
printf("\nWhere to Delete? ");
scanf("%d",&i);
delete1(*L,i);
printout(L);
break ;
}
}while((cmd!='q')&&(cmd!='Q'));
return 1;
}

最佳答案
首先,你这程序没有语法错误。
然后,你这个程序却是错误的,错误的地方在z---y这里,没有语法规定应当是(z--)-y还是z-(--y),这导致了一个很严重的二义性,编译器也许会按照它的理解给出结果,但你永远不要指望会有一个固定的结果。
所以,最好的解决办法是:永远不要写出这样的代码
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
Dreamweaver CS4有没有像VS2005那样的字符索
老鼠王可以刷出什么装备?为什么我刷了这么多
沙市区荆州湘荆国际城格力专卖店地址在什么地
360杀毒软件免费好么?
大家来试试...
有关于怀孕营养补充问题
蓝版的硬盘是不是初级人士用的最高速度的?
剑3账号文件被破坏
淘宝服务站怎么加盟,淘宝空包服务是什么意思
怎樣才能找回從前的小快樂呢
QQpet的问题
周杰伦啥时发新专辑?
郑州有专业学化妆的学校吗
汉寿县常德中国信合ATM(龙阳信用社)这个地址
谁有浙江3区DNF天行者光剑,或制作图?
推荐资讯
关于沙滩海边的语句,有关沙滩的句子
消防监控员岗位职责,南京消防监控员上岗证在
荆州区荆州苏宁易购(直营店)怎么去啊,谁知道
战国无双2(PC版)下载
爸爸和醉在卧室睡觉,妈妈和邻居叔叔在另一间
前进区佳木斯珍妮花写真馆这个地址在什么地方
电视购物现在的广告变成免费赠送了,但我觉得
一、填上反义词,组成成语
无聊的人和无聊的人在一块,会不会更无聊?
住房公积金好不好,好的话是好在那
中国公务员考试过关率形势高还是低?
为什么,好友列表和QQ农场友列表里都没有的人
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?