免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7027 | 回复: 1
打印 上一主题 下一主题

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

论坛徽章:
0
跳转到指定楼层
1 [收藏(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
2 [报告]
发表于 2019-04-07 08:54 |只看该作者
我想编写一个站接受两个相除的余数            最后输出从十进制转换其他进制写法          利用站来保存
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP