一罐猫猫 2021-05-28 20:36 采纳率: 33.3%
浏览 103
已结题

codeblocks 输出出栈序列,结果里字母变方块

#include<stdio.h>
#include<stdlib.h>
#define MaxSize 50
typedef char ElemType;
typedef struct
{
    ElemType data[MaxSize];
    int top;
}SqStack;
void InitStack(SqStack *&s)   //初始化顺序栈
{
    s=(SqStack *)malloc(sizeof(SqStack));
    s->top=-1;
}
void DestroyStack(SqStack *&s)   //销毁栈
{
    free(s);
}
bool StackEmpty(SqStack *s)  //判断栈是否为空
{
    return(s->top==-1);
}
bool Push(SqStack *&s,ElemType e)    //进栈
{
    if(s->top==MaxSize-1)
        return false;
    else
    s->top++;
    s->data[s->top]=e;
    return true;
}
bool Pop(SqStack *&s,ElemType e)    //出栈
{
    if(s->top==-1)
        return false;
    e=s->data[s->top];
    s->top--;
    return true;
}
bool GetTop(SqStack *s,ElemType &e)    //取栈顶元素
{
   if(s->top==-1)
        return false;
    e=s->data[s->top];
    return true;
}


int main()
{
    SqStack *s;
    ElemType e;
    InitStack(s);
    StackEmpty(s);
    Push(s,'a');
    Push(s,'b');
    Push(s,'c');
    Push(s,'d');
    Push(s,'e');
    StackEmpty(s);
     printf("输出出栈序列 ");
      for(int i = 0; i < 5; i++)
        {
		printf("%c\t", Pop(s,e));
	}
     StackEmpty(s);
     DestroyStack(s);
     return 0;
}

这是数据结构的作业,前一个作业在关于线性表的作业输出第三个元素,输出的也是方块,有人能帮助我吗

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-05-28 20:47
    关注

    pop的返回值是bool,你用%c打印,无论返回值是true还是false,都不可能是正常字符啊

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月12日

悬赏问题

  • ¥15 广告联盟的兜底广告是什么意思
  • ¥15 如何证明高斯噪声的包络公式
  • ¥150 寻找王者荣耀开发作者,合作或者解答
  • ¥15 乳腺癌数据集 相关矩阵 特征选择
  • ¥15 我的游戏账号被盗取,请问我该怎么做
  • ¥15 通关usb3.0.push文件,导致usb频繁断连
  • ¥15 有没有能解决微信公众号,只能实时拍照,没有选择相册上传功能,我不懂任何技术,,有没有给我发个软件就能搞定的方法
  • ¥15 Pythontxt文本可视化
  • ¥15 如何基于Ryu环境下使用scapy包进行数据包构造
  • ¥15 springboot国际化