递归 段错误 习题

段错误

  1. 递归里面算阶乘 f(10000000)没有输出,使用gdb 显示 SIGSEGV--段错误
  2. 编译后产生的可执行文件里面保存着什么?
    1. UNIX/Linux 用 ELF
    2. DOS下用COFF
    3. Windows用PE(COFF扩充而得)
  3. 段(segmentation)
    1. 二进制文件内的区域。
    2. 可用size程序得到可执行文件中的各个段的大小
    3. Text Segment--正文段--储存指令
    4. Data Segment--数据段--储存已初始化的变量
    5. BSS Segment--BSS段--未赋值的全局变量
    1. 栈不储存在可执行文件内,而是在运行时创建
    2. 调用栈所在的段成为Stack Segment
    3. 和其他段一样,不能越界访问,否则会stack overflow
    4. 调用栈保存函数的调用关系和局部变量
    5. 栈空间的大小
      1. linux 通过ulimit修改 ulimit -a显示当前栈的大小, ulimit -s 32768 把栈大小指定为32MB
      2. windows 用gcc指定执行文件的栈大小,-Wl,--stack=<byte count>
    6. 局部变量也是放在堆栈段中,栈溢出不一定是因为递归调用太多次,可能是局部变量太大。因此建议“把较大的数组放在main函数外。

竞赛题目

  1. 刽子手游戏
    1. 看输入字符和给定字符关系
    2. 使用全局变量可便于维护内容,可以免去过多的参数传递。
    3. 猜过的字母再猜一次算错:将猜过的字母从答案内“删去”(改成不可能满足为答案的条件的数据)
  2. 救济金发放
    1. 一圈官员,两个官员逆时,顺时针数k, m个数,停下,被选中的离开队伍(可能是同一个人)
    2. #include<stdio.h>
      #define maxn 25
      int n,k,m,a[maxn];
      //逆时针走t步,步长为d 返回新位置
      int go(int p,int d,int t)
      {while(t--){do{    //前面减去1??? p=(p+d+n-1)%n+1;        //注意这里经过的数字是步数加一! 因此会有最后的+1; 
              }while(a[p]==0);}return p;} int main(){while(scanf("%d%d%d",&n,&k,&m)){for(int i=1;i<=n;i++) a[i]=i;int left=n;int p1=n,p2=1;while(left){p1=go(p1,1,k);p2=go(p2,-1,m);printf("%3d",p1);left--;if(p2!=p1){printf("%3d",p2);left--;}a[p1]=a[p2]=0;if(left)printf(",");}printf("\n");}return 0;}
  3. 信息解码
    1. 01字符串,长度会逐渐增加,且不存在全1的串。 编写一个解码程序,输入一个编码头,则序列的每个串对应一个字符。再编码文本。每个小结前三个数字表示编码长度,每小节以全1结束,编码以000结束。

转载于:https://www.cnblogs.com/xuwanwei/p/10753888.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/279620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你知道你常用的dos和linux命令吗?

功能 Linux MS-DOS 进入到该目录 cd cd 列举文件 ls dir 创建目录 mkdir mkdir 清除屏幕 clear cls 复制文件 cp copy 移动文件 mv move 删除文件 rm del 查看文件 less more 文件重命名 mv ren 比较文件内容 diff fc 查看当前路径 pwd chd…

steam串流到手机_如何从手机将Steam游戏下载到PC

steam串流到手机Steam allows you to remotely install games from your smartphone, just like you can with a PlayStation 4 or Xbox One. You can download games to your gaming PC from anywhere, ensuring those big downloads are complete and the game is ready to p…

编写安装配置ftp-samba服务脚本

本脚本实例的要求如下&#xff1a; 1、公司有公共共享目录public,所有员工均可读写&#xff0c;但不允许删除其他员工的文件;不能匿名登录 2、每部门均有共享目录&#xff0c;部门经理可读写&#xff0c;部门员工可读&#xff1b; 非本部门员工不能访问&#xff08;caiwu、rens…

利用java实现excel转pdf文件

在有些需求当中我们需要抓取字段并且填充到excel表格里面&#xff0c;最后将excel表格转换成pdf格式进行输出&#xff0c;我第一次接触这个需求时&#xff0c;碰到几个比较棘手的问题&#xff0c;现在一一列出并且提供解决方案。 1&#xff1a;excel转pdf出现乱码&#xff1a; …

Jmeter HTTP请求后响应数据显示乱码解决方法

Jmeter请求后结果树里无论是text还是html响应数据显示乱码&#xff0c;这是因为jmeter 编码格式配置文件默认不开启导致的&#xff0c;解决方法如下&#xff1a; 1&#xff09;进入jmeter-***\bin目录下&#xff0c;找到jmeter.properties文件&#xff0c;以文本文件形式打开 2…

禁用windows10更新_如何在Windows 10中禁用投影

禁用windows10更新The drop shadows on applications in the Windows 10 preview are really big and suspiciously similar to the ones in OS X, and if they aren’t your speed, you can easily remove them. We actually think they look good, but since somebody out th…

如何访问 Service?- 每天5分钟玩转 Docker 容器技术(99)

前面我们已经学习了如何部署 service&#xff0c;也验证了 swarm 的 failover 特性。不过截止到现在&#xff0c;有一个重要问题还没有涉及&#xff1a;如何访问 service&#xff1f;这就是本节要讨论的问题。 为了便于分析&#xff0c;我们重新部署 web_server。 ① docker se…

sqlyog下载

sqlyog下载&#xff08;附注册码&#xff09;&#xff1a;http://www.onlinedown.net/soft/24926.htm转载于:https://www.cnblogs.com/shujuxiong/p/9474496.html

Linux配置手册(二)配置DHCP服务器

1.检查是否安装DHCP服务器软件 2.挂在RHEL5系统光盘 3.安装DHCP服务软件 4.将模板配置文件复制并覆盖现在的配置文件 5.配置修改dhcpd.conf文件 配置信息 默认租约时间 default-lease-time 最大租约时间 max-lease-time 局域网内所有主机的域名 option domain-name 客户机所使用…

什么是Google Play保护以及如何确保Android安全?

Android is open, flexible, and all about choice. Unfortunately, that flexibility comes more potential security issues. The good news is that Google has a system in place named Play Protect that helps keep Android secure. Android开放&#xff0c;灵活且具有多…

如何使计算机为您读取文档

Since the beginning of the computer age, people have always enjoyed making computers talk to them. These days, that functionality is built right into Windows and you can easily use it to have your PC read documents to you. 自计算机时代开始以来&#xff0c;人…

面试中常问的List去重问题,你都答对了吗?

2019独角兽企业重金招聘Python工程师标准>>> 面试中经常被问到的list如何去重&#xff0c;用来考察你对list数据结构&#xff0c;以及相关方法的掌握&#xff0c;体现你的java基础学的是否牢固。 我们大家都知道&#xff0c;set集合的特点就是没有重复的元素。如果集…

Coolite Toolkit学习笔记五:常用控件Menu和MenuPanel

Coolite Toolkit里的Menu控件和其他的.NET Web控件不一样&#xff0c;如果只是设计好了Menu或是通过程序初始化菜单项&#xff0c;菜单是不会呈现在界面上的&#xff0c;因为Coolite Toolkit规定Menu控件需要一个容器来做依托&#xff0c;而这个让Menu依托的控件就是MenuPanel&…

刚接触git,提交文件时,遇到no changes added to commit

第一次用git 在提交&#xff08;git commit -m add 文件名&#xff09;的时候&#xff0c;遇到了一个no changes added to commit&#xff0c;大体意思是没有将改变的东西提交成功&#xff0c;查了很多博客&#xff0c;才解决这个问题&#xff0c;然后自己也做一下笔记&#…

CSS中!important的使用

本篇文章使用最新的IE10以及firefox与chrome测试&#xff08;截止2013年5月27日22:23:22&#xff09;http://www.cnblogs.com/yudy/archive/2013/05/27/3102825.html CSS的原理&#xff1a; 我们知道&#xff0c;CSS写在不同的地方有不同的优先级&#xff0c; .css文件中的定义…

windows命令提示符_如何个性化Windows命令提示符

windows命令提示符Command line interfaces can be downright boring and always seem to miss out on the fresh coats of paint liberally applied to the rest of Windows. Here’s how to add a splash of color to Command Prompt and make it unique. 命令行界面可能非常…

android-api28转换到api19-不能编译

安装出现错误- rootponkan:/ # pm install /mnt/usb/sda1/app-debug.apkpkg: /mnt/usb/sda1/app-debug.apk Failure [INSTALL_FAILED_OLDER_SDK]查看系统和api版本 rootponkan:/ # getprop ro.build.version.release 5.1.1 rootponkan:/ # getprop ro.build.version.sdk 22将ap…

Java多线程编程 — 锁优化

2019独角兽企业重金招聘Python工程师标准>>> 阅读目录 一、尽量不要锁住方法 二、缩小同步代码块&#xff0c;只锁数据 三、锁中尽量不要再包含锁 四、将锁私有化&#xff0c;在内部管理锁 五、进行适当的锁分解 正文 并发环境下进行编程时&#xff0c;需要使用锁机…

Android Ap 开发 设计模式第六篇:原型模式

Prototype Pattern 名称由来 不是利用类来产生实例对象&#xff0c;而是从一个对象实例产生出另一个新的对象实例 &#xff0c;根据被视为原型的对象实例 &#xff0c;建立起的另一个新的对象实例就称为原型模式&#xff08;Ptototype Pattern&#xff09;。 需求场景 种类过多…

netty实现客户端服务端心跳重连

前言&#xff1a; 公司的加密机调度系统一直使用的是http请求调度的方式去调度&#xff0c;但是会出现网络故障导致某个客户端或者服务端断线的情况&#xff0c;导致很多请求信息以及回执信息丢失的情况&#xff0c;接着我们抛弃了http的方式&#xff0c;改为Tcp的方式去建立客…