C语言程序 运行时崩了 请教各位 咋整啊

img


这是代码 基本上运行三次就崩了 不太结实 不抗造 有啥补救办法吗 函数应该没问题 就是主体

新会员登记那个函数,很明显人数过多就要返回啊,不要再往下执行

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7543222
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:大二上期数据结构实验记录(一)【修改增删版】C实现简单复数计算器(能力有限还不能实现有界面的计算器,会努力争取在在本学期末写出)
  • 同时,你还可以查看手册:c语言-内存模型与数据竞争 中的内容
  • 除此之外, 这篇博客: C语言利用双向栈的操作实现两个栈共享一段空间并且分别存放奇偶数中的 预编译文件的声明和结构体的定义: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • #include <stdio.h>
    #include <stdlib.h>
    #define MAXSIZE 10
    
    typedef struct
    {
      int  data[MAXSIZE];//栈的最大长度
      int top1,top2;//栈顶元素1,2
    }DoubleStack;
    
  • 您还可以看一下 尹成老师的C语言系列之 字符串相关算法课程中的 寻找字符串最长数字串小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    建议和帮助:

    1. 首先,建议先对程序进行调试,找到程序崩溃的具体位置和原因。可以使用调试工具,例如 gdb 或 Visual Studio 的调试工具,或者在代码中加入调试信息输出,例如printf语句,来帮助定位问题。

    2. 接着,可以对代码进行优化,加入一些异常处理机制,例如try-catch语句,来避免一些异常操作导致程序崩溃。也可以使用一些开源的异常处理库,例如 libunwind,来帮助更好地处理异常。

    3. 另外,建议对代码进行重新设计和架构,采用面向对象的编程思想,使用C++等面向对象编程语言来重构代码。这样可以更好地封装代码,保证程序的稳定性和安全性。

    4. 在代码中,建议使用动态内存分配的方式,来避免内存溢出和越界访问的问题。例如使用指针和new/delete等关键字,来动态地分配和释放内存空间。

    5. 对于代码中的函数,建议加入一些限制条件,例如参数类型校验、参数范围校验等,来防止一些非法操作导致程序崩溃。可以使用assert宏或者异常处理来处理这些问题。

    6. 最后,建议加入一些日志打印机制,来记录程序运行的详细信息和错误信息,以便后续分析调试。可以使用开源的日志打印库,例如log4cxx或者boost logging来实现。

以调试方式运行程序,这样可以知道崩在哪一行。