| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1482 人关注过本帖
标题:大佬,帮帮我啊啊啊 怎么一直是段错误啊
只看楼主 加入收藏
堕落之地
Rank: 1
等 级:新手上路
帖 子:57
专家分:5
注 册:2019-3-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
大佬,帮帮我啊啊啊 怎么一直是段错误啊
#include<stdio.h>
#include<stdlib.h>
typedef struct{
    int yushu;
}yu;
//yu *base,*top;
typedef struct  sq{
    struct sq *next;//必须的有struct
    yu yu1;
    //yu *top;
    //int stacksize;
}sq;
//sq aa,*le=&aa;
sq *le,*le1;
sq *chuangjian(sq *le){
    le=NULL;
    //printf("1\n");
    return le;
}
sq *ruzhan(sq *le,yu *yu2){//没有必要在加头结点//应该都为sq 类型指针  前插法
    //printf("1\n");
    le1=(sq *)malloc(sizeof(sq));
    if(le1==NULL){
        printf("增加节点失败了");
        exit(1);
    }
    le1->yu1=*yu2;//改成这样在可以改变原函数的内容
    le1->next=le;//->也属于间接访问
    le=le1;
    return le;
}
sq *chuzhan(sq *le,yu *yu2){
    sq *le2;
    if(le->next=NULL){
        printf("站为空,不能出站");
        exit(1);
    }
    le2=le;
    *yu2=le->yu1;
    //le1=le->next;
    le=le->next;
    free(le2);
    return le;
}
int main(){
    int x,a;
    //sq *le,*le1;
    yu *yu1;
    //sq *le,*le1;
    //yu *yu1;
    //sq *le=&aa;
    printf("请输入需要进行八进制转换的十进制数值是:");
    scanf("%d",&x);
    printf("请输入需要产生的多少进制数的数字:");
    scanf("%d",&a);
    printf("案件发开发");
    le=chuangjian(le);
    //printf("%p",le);
    //printf("asdfasdf");
    while(x/a){
        printf("0");
        yu1=(yu *)malloc(sizeof(yu));
        if(yu1==NULL){
            printf("失败");
            exit(1);
        }
        printf("111111111111");
        yu1->yushu=x%a;
        le=ruzhan(le,yu1);
        //le1->yu1.yushu=x%a;
        x=x/a;
        free(yu1);
    }
    printf("woshifdafihad");
    yu1=(yu *)malloc(sizeof(yu));
    if(yu1==NULL){
        printf("失败");
        exit(1);
    }
    yu1->yushu=x%a;
    le=ruzhan(le,yu1);
    x=x/a;
    free(yu1);
    while(le->next!=NULL){
        yu1=(yu *)malloc(sizeof(yu));
        if(yu1==NULL){
            printf("创建失败");
            exit(1);
        }
        //sq *le1;//为了让出站更好的释放节点
        //le1=le;//为了让出站更好的释放节点
        //le=le->next;//为了让出站更好的释放节点
        le=chuzhan(le,yu1);
        printf("%d ",yu1->yushu);
        //le=le->next;
    }
    printf("%d ",le->yu1.yushu);
   
   
}
第一个调用时函数就有错误:段核心错误,瞪了一个小时了
搜索更多相关主题的帖子: 错误 next NULL printf exit 
2019-04-06 23:40
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:20 
函数chuzhan中的语句“if(le->next=NULL)”改成“if(le->next==NULL)”

能编个毛线衣吗?
2019-04-07 09:49
堕落之地
Rank: 1
等 级:新手上路
帖 子:57
专家分:5
注 册:2019-3-11
收藏
得分:0 
回复 2楼 wmf2014
谢谢大哥谢谢大哥

2019-04-07 10:30
快速回复:大佬,帮帮我啊啊啊 怎么一直是段错误啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017339 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved