首页 新闻 会员 周边 捐助

初学C++。求问为什么输出来的结果是这样的啊?

0
悬赏园豆:10 [已关闭问题] 关闭于 2014-08-13 15:14
#include <iostream>
using namespace std;

#define StackSize 100
typedef char DataType;
typedef struct{
    DataType data[StackSize];
    int top;
}SeqStack;

void InitStack(SeqStack *S)
{//栈初始化 
    S->top = -1;
}

int StackEmpty(SeqStack *S)
{//判断栈是否为空 
    return S->top == -1;
}

int StackFull(SeqStack *S)
{//判断栈满 
    return S->top == StackSize - 1;
}

void Push(SeqStack *S, DataType x)
{//入栈 
    if (StackFull(S))
        perror("Stack overflow");
    S->data[S->top] = x;
    ++ S->top;
}

DataType Pop(SeqStack *S)
{//出栈 
    if (StackEmpty(S))
        perror("Stack underflow");
    return S->data[S->top];
    S->top --; 
}

DataType StackTop(SeqStack *S)
{//取栈顶元素 
    if (StackEmpty(S))
        perror("Stack is empty");
    return S->data[S->top];
}


int main()
{
    SeqStack *S;
    InitStack(S);
    Push(S, 'a');
    Push(S, 'b');
    cout << StackTop(S);
    
    return 0;
}

c++
ii沙漠的主页 ii沙漠 | 初学一级 | 园豆:114
提问于:2014-08-13 14:41
< >
分享
所有回答(1)
0

呃,知道了。入栈和出栈写的都有问题。 。

ii沙漠 | 园豆:114 (初学一级) | 2014-08-13 15:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册