日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

递归 段错误 习题

發布時間:2023/12/6 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 递归 段错误 习题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

段錯誤

  • 遞歸里面算階乘 f(10000000)沒有輸出,使用gdb 顯示 SIGSEGV--段錯誤
  • 編譯后產生的可執行文件里面保存著什么?
  • UNIX/Linux 用 ELF
  • DOS下用COFF
  • Windows用PE(COFF擴充而得)
  • 段(segmentation)
  • 二進制文件內的區域。
  • 可用size程序得到可執行文件中的各個段的大小
  • Text Segment--正文段--儲存指令
  • Data Segment--數據段--儲存已初始化的變量
  • BSS Segment--BSS段--未賦值的全局變量
  • 棧不儲存在可執行文件內,而是在運行時創建
  • 調用棧所在的段成為Stack Segment
  • 和其他段一樣,不能越界訪問,否則會stack overflow
  • 調用棧保存函數的調用關系和局部變量
  • ??臻g的大小
  • linux 通過ulimit修改 ulimit -a顯示當前棧的大小, ulimit -s 32768 把棧大小指定為32MB
  • windows 用gcc指定執行文件的棧大小,-Wl,--stack=<byte count>
  • 局部變量也是放在堆棧段中,棧溢出不一定是因為遞歸調用太多次,可能是局部變量太大。因此建議“把較大的數組放在main函數外。
  • 競賽題目

  • 劊子手游戲
  • 看輸入字符和給定字符關系
  • 使用全局變量可便于維護內容,可以免去過多的參數傳遞。
  • 猜過的字母再猜一次算錯:將猜過的字母從答案內“刪去”(改成不可能滿足為答案的條件的數據)
  • 救濟金發放
  • 一圈官員,兩個官員逆時,順時針數k, m個數,停下,被選中的離開隊伍(可能是同一個人)
  • #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;}
  • 信息解碼
  • 01字符串,長度會逐漸增加,且不存在全1的串。 編寫一個解碼程序,輸入一個編碼頭,則序列的每個串對應一個字符。再編碼文本。每個小結前三個數字表示編碼長度,每小節以全1結束,編碼以000結束。
  • 轉載于:https://www.cnblogs.com/xuwanwei/p/10753888.html

    總結

    以上是生活随笔為你收集整理的递归 段错误 习题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。