免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5571 | 回复: 1

[C] 求帮助 啊啊 大佬 一直是段错误 [复制链接]

论坛徽章:
0
发表于 2019-04-07 08:51 |显示全部楼层
#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);
   
   
}                                                   好像                       从第一个函数都不行

论坛徽章:
0
发表于 2019-04-07 08:54 |显示全部楼层
我想编写一个站接受两个相除的余数            最后输出从十进制转换其他进制写法          利用站来保存
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP