m0_59544250 2021-09-28 18:43 采纳率: 100%
浏览 367
已结题

devc编译成功运行时界面没有结果

求指教,代码完全比着




```敲的,没有出现错误,但是运行不出结果,就出现这个界面,一碰就退出

#include<stdio.h>
#include<stdlib.h>  //malloc
#include<math.h>  //OVERFLOW


#define LIST_INIT_SIZE  100  //初始化最大空间 
#define LISTINCREMENT    10  //增量
#define OK      1
#define ERROR   0


//讨论的int   
typedef int ElemType;   //数据元素类型 
typedef int Status;     //函数的返回值状态 

//顺序表类型定义
typedef  struct
{
    ElemType *elem;  //顺序表的起始地址
    int length;      //元素个数
    int listsize;    // 当前容量大小 
}SqList;

//---------------相关操作-----------------
//初始化操作
Status  ListInt_Sq(SqList &L)  //输入型  输出型
{
    //1:申请空间malloc
    L.elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));
    if(!0)    exit(OVERFLOW);
    //2: length 
    L.length=0;
    //3: 设定当前容量大小
    L.listsize= LIST_INIT_SIZE;
    
    return  OK;
 } 


//插入操作 
//1:含义 
//2:算法思想 
Status ListInsert_Sq(SqList &L,int i,ElemType e)
{
    ElemType *mewbase;
    int n=L.length;
    int j;
    //i的合法性
    if(i<1 || i>n+1 ) return ERROR;
    //满的情况
    if(n>=L.listsize)
    {
        //重新申请空间 realloc
        mewbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));
        if(!mewbase)    exit(OVERFLOW);
        //将新地址赋值给L.elem 
        L.elem=mewbase;
        //设定当前容量大小 
        L.listsize+=LISTINCREMENT;    
    }    
    //元素移动
    for(j=n-1;j>=i-1;j--)
    {
        //指针[下标] 
        //把[j]的元素后移一个位置[j+1] 
        L.elem[j+1]=L.elem[j];
    }
    //放元素
    L.elem[i-1]=e;
    //表长加1
    L.length++; 
    
    return OK;
    }

Status ListDelete_Sq(SqList &L,int i,ElemType &e)
{
    int n=L.length;
    int j;
    //1:删除位置i的合法范围[1,n]
    if(i<1||i>n)  return  ERROR;
    //2:保留删除元素
    e=L.elem[i-1];
    //3:从第i+1个位置开始,直到an,都往前移动一格位置
    for(j=i;j<=n-1;j++)
    {
        //把[j]元素往前移动一个位置([j-1])
        L.elem[j-1]=L.elem[j] ;
    }
    //4:表长减一 
    L.length--;
    
    return OK;
}

int main()
{
    SqList L;  //定义顺序表L
    ElemType e;//定义元素类型的变量 
    //建表
    ListInt_Sq(L) ;  //函数调用
    //在第一个位置插入一个元素10
    printf("在第一个位置插入一个元素10\n") ;
    ListInsert_Sq(L,1,10);
    printf("在第2个位置插入一个元素20\n") ;
    ListInsert_Sq(L,2,20);
    printf("在第3个位置插入一个元素30\n") ;
    ListInsert_Sq(L,3,30);
    
    printf("[1]:%d",L.elem[1]);
    printf("长度:%d\n",L.length);
    printf("删除第二个位置的元素:%d\n");
    ListDelete_Sq(L,2,e);
    printf("%d",e) ;
    printf("长度:%d\n",L.length);
    
     
    
    return 0;
}
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/952845528236195.png "=600 #left")
  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-09-28 18:45
    关注

    if(!0) exit(OVERFLOW);
    这是什麽鬼?自杀性攻击吗?这肯定就退出了程序啊

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月6日
  • 已采纳回答 9月28日
  • 创建了问题 9月28日

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题