zoukankan      html  css  js  c++  java
  • J

    题目见紫书p161

    re,一直re,re到怀疑人生

    刚开始出现re的时候怀疑是数组开的不够大

    但一直都修改不行

    结果是,  , , ,输入函数bool函数没加返回值 return true;

    所以re时 ,可能

    ①除以零 

    ②数组越界:int a[3]; a[10000000]=10;

    ③指针越界:int * p; p=(int *)malloc(5 * sizeof(int)); *(p+1000000)=10;(特别是空指针!)

    ④使用已经释放的空间:int * p; p=(int *)malloc(5 * sizeof(int));free(p); *p=10;

    ⑤数组(在函数内)开得太大,超出了栈的范围,造成栈溢出:int a[100000000];

    再加一项 圈6 非void的函数没有返回值(特别是bool)

    #include<cstdio>
    #include<cstdlib>
    #include<cstring>
    using namespace std;
    
    int p[1000];
    int lmax=500,rmax=500;
    bool sum(int u,int lp){
        int r,l;
        p[lp]+=u;    
        scanf("%d",&l);
        if(l!=-1)sum(l,lp-1);
        scanf("%d",&r);
        if(r!=-1)sum(r,lp+1);
        if(lp<lmax)lmax=lp;
        if(lp>rmax)rmax=lp;
        return true; //<---就是这里!!!要加的
    }
    int main(){
        int root,j=1;
        memset(p,0,sizeof(p));
        while(j){
        lmax=500;rmax=500;
        scanf("%d",&root);
        if(root==-1)break;
        sum(root,500);
        printf("Case %d:
    ",j++);
        for(int i=lmax;i<=rmax;i++)
        if(i==lmax)
        printf("%d",p[i]);
        else printf(" %d",p[i]);
        printf("
    
    ");
        memset(p,0,sizeof(p));
        
        }
        
           return 0;
    }
  • 相关阅读:
    毕设问题02-index.jsp跳转html问题
    毕设问题01-html中引入公共部分代码
    毕设开篇
    object和大括号自定义对象
    数组js
    function 方法的使用
    JavaScript01
    CSS属性
    听说不能改日期了
    获取时间
  • 原文地址:https://www.cnblogs.com/-ifrush/p/10202201.html
Copyright © 2011-2022 走看看