小白有颗大白梦 2022-05-15 22:55 采纳率: 0%
浏览 36

为什么一运行就终止了

#include <iostream>
#include <malloc.h>
#include <stdlib.h>
using namespace std;
typedef struct sqlist
{
    char *elem;
    int length;
}sqlist;
bool createlist(sqlist *l)
{
    l->elem=(char *)malloc(100*sizeof(char));
    l->length=0;
    for(int i=0;;i++)
    {
        cin>>l->elem[i];
         l->length++;
        if(getchar()=='\n')
            break;
    }
    return true;
}
void output(sqlist *l)
{
    for(int i=0;i<l->length;i++)
         cout<<l->elem[i];
    cout<<endl;
    cout<<l->length<<endl;
}
bool deletelist(sqlist* l,char a)
{
    if(l->length==0)
        return false;
    else
    {
        for(int i=0;i<l->length;i++)
        {
            if(l->elem[i]==a)
            {
                for(int j=i;j<l->length-1;j++)
                {
                    l->elem[j]=l->elem[j+1];
                }
                l->length--;
            }
        }
        return true;
    }
}
int main()
{
    sqlist *L;
    createlist(L);
    char a;
    cin>>a;
    output(L);
    deletelist(L,a);
    output(L);
    return 0;
}

目的是对字符串进行查重杀出

  • 写回答

1条回答 默认 最新

  • 赵4老师 2022-05-16 11:27
    关注

    代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
    提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
    单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月15日

悬赏问题

  • ¥15 Java与Hbase相关问题
  • ¥20 bash代码推送不上去 git fetch origin master #失败了
  • ¥15 LOL外服加入了反作弊系统,现在游戏录像rofl文件离线都无法打开
  • ¥15 在centos7安装conda
  • ¥15 c#调用yolo3 dll文件获取的数据对不上
  • ¥20 WPF 如何实现多语言,label 和cs(live Charts)中是否都能翻译
  • ¥15 STM32F103上电短路问题
  • ¥15 打开软件提示错误:failed to get wglChoosePixelFormatARB
  • ¥15 (标签-python|关键词-char)
  • ¥15 python+selenium,在新增时弹出了一个输入框