鱼C论坛

 找回密码
 立即注册
查看: 2277|回复: 1

[已解决]写完了。但是这4个错误都找不出来

[复制链接]
发表于 2022-12-18 17:36:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
)G6~PGX[RSH7JQ1S$KD%J.png
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define STACK_INIT_SIZE 20
#define STACKINCREMENT 10

typedef char ElemTyppe();
typedef struct{
        ElemTyppe *base;
        ElemTyppe *top;
        int size;
}sqStack;

void InitStack(sqStack *s){//初始化
        s->base = (ElemTyppe *)malloc(STACK_INIT_SIZE * sizeof(ElemTyppe));
        if (!s->base ){
                exit (0);
        }
        s->top = s->base;
        s->size = STACK_INIT_SIZE;
}

void push(sqStack *s, ElemTyppe e){//入栈
        if (s->top - s->base >= s->size){
                s->base = (ElemTyppe *)realloc(s->base, (s->size + STACK_INIT_SIZE) * sizeof(ElemTyppe));
                if (!s->base ){
                        exit (0);
                }
        }

        *(s->top) = e;
        s->top++;
}

void pop(sqStack *s, ElemTyppe e){//弹栈
        if (s->top == s->base){
                return;
        }
        *e = *--(s->top);
}

int StackLen(sqStack s){//求栈当前容量
        return (s.top - s.base);
}

int main(){
        ElemTyppe c;
        sqStack s;
        int len, i, sum = 0;

        Initstack (&s);

        printf("请输入二进制数,输入#表示结束! \n");
        scanf("%c", &c);
        while(c != '#'){
                Push(&s, c);
                scanf("%c", &c);
        }

        getchar ();//把\n从缓冲区去掉
        len = stackLen(s);

        printf("栈的当前容量是:%d\n", len);
        for(i = 0; i < len; i++){
                pop(&s, &c);
                sum = sum + (c-48) * pow(2, i);
        }

        printf("转换为十进制是:%d\n", sum);

        return 0;
}
最佳答案
2022-12-18 18:23:09
第8行“()”去掉;
pop函数改为:
void pop(sqStack *s, ElemTyppe *e)
保证定义的函数和调用的函数字母大小写一致
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-18 18:23:09 | 显示全部楼层    本楼为最佳答案   
第8行“()”去掉;
pop函数改为:
void pop(sqStack *s, ElemTyppe *e)
保证定义的函数和调用的函数字母大小写一致
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 09:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表