起泡胶 2021-09-30 23:09 采纳率: 100%
浏览 281
已结题

VSCODE2021 c语言调试的时候黑框一闪而退,并且调试控制台出现0xc000007b错误

引入了自己的头文件,自己不引入头文件时没有错误


#include"LinkListFOR12.h"//自己引入的头文件
#include<stdio.h>
int main()
{
    int Leng,i;
    char mid;
    LinkList L;
    InitList_L(L);
    printf("请输入您想要的链表的长度:");
    scanf("%d",&Leng);
    fflush(stdin);
    for (i=1;i<=Leng;i++)
    {
        .....不重要的
    };
    
    
    getchar();
    printf("\n%d",ListLength_L(L));
    return 0;
}

以下是调试控制台内容


=thread-group-added,id="i1"
GNU gdb (GDB) 7.6.1
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
=cmd-param-changed,param="pagination",value="off"
[New Thread 3116.0x3428]
[New Thread 3116.0x7168]
[New Thread 3116.0x6c90]
[New Thread 3116.0x6f78]
ERROR: During startup program exited with code 0xc000007b.
The program 'z:\VScode\Code\Data structure\homework\homework4\work12.exe' has exited with code 0 (0x00000000).

以下是引入的头文件内容

#include<iostream>
#include<iomanip>

using namespace std;

typedef char ElemType;
//

typedef struct Node {
 ElemType data;
struct  Node *next;
}LNode,*LinkList;                 // LinkList为结构体指针类型

void InitList_L(LinkList &L)
    {  
L=(LNode *)malloc(sizeof(LNode));  // 申请存放一个结点数据所需要的内在空间
if(!L)   exit(1);                        // 存储分配失败
       L->next=NULL;                            // 表头结点的指针域置空
}// InitList_L

int ListLength_L( LinkList L ) 
{     // L为带头结点的链表的头指针,本函数返回L所指链表的长度
  LinkList  p;
int k=0;
p=L->next;                             // p指向链表中的第一个结点
  while(p) 
   {  k++;  p=p->next;                 // k计非空结点数
   }
  return k;
}// ListLength_L

LNode *LocateElem_L( LinkList L,ElemType e) 
{  // 在L所指的单链表中查找第一个值和e 相等的结点,若存在,则返回其指针;
// 否则返回空指针
  LinkList  p;                           
  p=L->next;                               // p指向链表中的第一个结点
   while (p&&p->data!=e ) p=p->next;
  return p;
}// LocateElem_L

bool ListInsert_L( LinkList &L, int i, ElemType e) 
{    //在带有头结点的单链表L中的第i个结点之前插入元素e
LinkList p,s;
  int j;
  p=L;  j=0;
  while(p->next&&j<i-1)  { p=p->next; j++; }   // 寻找第i-1个结点,并让p指向此结点
  if(j!=i-1)   return false;                   // i的位置不合理
  if((s=(LNode *)malloc(sizeof(LNode)))==NULL) exit(1);  // 存储分配失败
  s->data=e;  
  s->next=p->next;  p->next=s;                  // 插入新结点
  return true;
 }// ListInsert_L

bool ListDelete_L( LinkList &L, int i, ElemType &e) 
{    // 删除带有头结点的单链表L中的第i个结点,并让e返回其值
LinkList p,q;
  int j;
  p=L;  j=0;
 while(p->next->next&&j<i-1){ p=p->next; j++; } //寻找第i-1个结点,并让p指向此结点
  if(j!=i-1)   return false;                     // i的位置不合理
  q=p->next;                                     // q指向其后继
p->next=q->next;                               // 删除q所指结点
e=q->data;    free(q);
  return true;
 }// ListDelete_L

bool GetElem_L(LinkList L,int i, ElemType &e)
{    // 取出单链表L中第i个元素,并用e返回其值
LinkList p;
  int j;
  p=L;  j=0;
while(p->next&&j<i){ p=p->next; j++; }  // 寻找第i个结点,并让p指向此结点
  if(j!=i)   return false;                      // i的位置不合理
  e=p->data;                                     // 被取元素的值赋给e
  return true;
 }// GetElem_L

void CreateList_L_Rear(LinkList &L,ElemType a[],int n ) 
{   // 已知一维数组A[n]中存有线性表的数据元素,利用尾插法创建单链表L
   LinkList p,q;   int i;
      L=(LinkList)malloc(sizeof(LNode));    // 创建立头结点
q=L;                                // q始终指向尾结点,开始时尾结点也是头结点
for(i=0;i<n;i++) 
{  p=(LinkList)malloc(sizeof(LNode));          // 创建新结点
       p->data=a[i];                               // 赋元素值
       q->next=p;                                  // 插入在尾结点之后
       q=p;                                         // q指向新的表尾
     }
   q->next=NULL;                                    // 表尾结点next域置空
}// CreateList_L_Rear

void CreateList_L_Front(LinkList &L,ElemType a[],int n ) 
{    // 已知一维数组A[n]中存有线性表的数据元素,利用头插法创建单链表L
   LinkList p;   int i;
L=(LinkList)malloc(sizeof(LNode));              //创建立头结点
L->next=NULL;                               
for(i=n-1;i>=0;i--)   
{    p=(LinkList)malloc(sizeof(LNode));           //创建新结点
        p->data=a[i];                                // 赋元素值
        p->next=L->next;                          // 插入在头结点和第一个结点之间
       L->next=p;                                         
      }
}// CreateList_L_Front

void ListTraverse_L(LinkList L)
{
 LinkList p=L->next;
 while(p)
  {  cout<< setw(6)<<p->data;
     p=p->next;
  }
cout<<endl;
}// ListTraverse_L

void DestroyList_L(LinkList &L )
{
  LinkList p,p1;
  p=L;
  while(p) 
  { p1=p;
    p=p->next;
    free(p1);
   }
   L=NULL;
 }// DestroyList_L

再粘贴一下三个json文件代码

c_cpp_properties.json
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "Z:/VScode/mingw/include/*"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "Z:/VScode/mingw/bin/gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64",
            "configurationProvider": "go2sh.cmake-integration"
        }
    ],
    "version": 4
}


launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "targetArchitecture": "x86",
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
            "miDebuggerPath": "Z:/VScode/mingw/bin/gdb.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "externalConsole": true,
            "preLaunchTask": "g++"
        }
    ]
}

setting.json
{
    "files.encoding": "gbk"
}

tasks.json
{
  "version": "2.0.0",
  "command": "g++",
  "type": "shell",
  "presentation": {
    "echo": true,
    "reveal": "always",
    "focus": false,
    "panel": "shared",
    "showReuseMessage": true,
    "clear": false
  },
  "args": ["-m32","-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}.exe"],
  "problemMatcher": {
    "owner": "cpp",
    "fileLocation": ["relative", "${workspaceRoot}"],
    "pattern": {
      "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
      "file": 1,
      "line": 2,
      "column": 3,
      "severity": 4,
      "message": 5
    }
  }
}

文件可以通过编译,用cfree可以成功运行,但是用vS调试就会出现这样的错误

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-10-01 07:27
    关注

    你要不引入头额为那件,LinkList也不知道是什麽东西,能通过编译?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月9日
  • 已采纳回答 10月1日
  • 修改了问题 10月1日
  • 创建了问题 9月30日

悬赏问题

  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效