请教为什么第二个Print是乱码?如何改正?

#include
#include
#include
#define OK 1
#define ERROR 0
#define Stack_Size 20//定义栈最多能够存储的元素个数
typedef struct
{
int stacksize//当前已分配储存已使用空间
int *base//栈底指针
int *top;//整型变量top存储栈顶元素的下标,作为栈顶指针,top为-1时表示空栈
}SeqStack;

int InitStack(SeqStack );//初始化栈,即将一个栈清除为空
int StackEmpty(SeqStack *);//检查一个栈是否为空
int pop(SeqStack
,int*);//向一个栈中删除元素
int push(SeqStack , int);//向一个栈中插入元素
void Print(SeqStack
);//输出栈

int main()
{
SeqStack p = (SeqStack)malloc(sizeof(SeqStack)), q = (SeqStack)malloc(sizeof(SeqStack));
InitStack(p);
InitStack(q);
srand(time(NULL));
int i = 0, x, A[100];
cout << "随机生成100个要入栈的数字...." << endl;
while (i < 100)
{
cin.unget();
A[i] = rand() % 200;
Push(p, A[i++]);
}
cout << "打印第一个栈的内容:" << endl;
for (i = 0; i < p->sacksize; i++)
{
printf("%-4d", A[i]);
if ((i + 1) % 10 == 0)cout << endl;
}
system("pause");
cout << "打印第二个栈的内容:" << endl;
for (i = 0; p->sacksize != 0; i++)
{
Pop(p, &x);
Push(q, x);
printf("%-4d", x);
if ((i + 1) % 10 == 0)cout << endl;
}
system("pause");
}
int InitStack(SeqStack S)
{
s->base = (int
)malloc(Stack_Size * sizeof(int));
s->top = s->base;
s->sacksize = 0;
}
int StackEmpty(SeqStack *S)
{
return(s->top == s->base ? OK: ERROR);
}
int pop(SeqStack *S, int *x)
{
if (s->sacksize == 0)
return FALSE;
else
{
*x = *(--s->top);
*(s->top) = NULL;
s->sacksize--;
}
return TRUE;

}
int push(SeqStack *S, int x)
{
if (Stack_Size == s->sacksize)
return FALSE;
else
{
*(s->top++) = e;
s->sacksize++;
}
return TRUE;
}
void Print(SeqStack *S)
{
printf("输出元素:\n");
for (int i = S->top; i >=S->base; i--)
{
printf("%d", S->elem[i]);
}
printf("\n");
}

-1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!

相似问题

0
请教为什么第二个Print是乱码?如何改正?
1
C语言函数不能返回局部变量或者形参的地址?为什么
3
请问这段代码,哪里有问题。为什么还是报空指针错误
1
leetcode95,指向函数的指针和指向vector的指针是干什么的?
3
请教一个c语言指针和编译方面的问题,见下图。请问最后输出结果为什么会是NULL指针??
1
leetcode234和141题,均使用快慢指针思路,为什么退出条件不一样?
1
关于指针的问题,在最后一个函数里,这样用的话为什么无法输出正确的值?求大佬解答
1
函数内new一个对象为什么会触发断点啊?
1
Creat函数为什么会错呢?
6
新指针赋地址值给旧指针,为什么旧指针地址还是原来的
1
请问为什么数据域为2的结点最后输出的是指针?
0
leetcode661,为什么reference binding to null pointer of type 'struct value_type'?
3
C语言函数传参:如何实现指针参数引用传递
2
请高手帮忙指点一下这个C++程序为什么和我要的结果不一样?
4
精通汇编和c的大佬来回答一下:从汇编的角度来理解一下这个函数传参为什么传的是值
2
这个代码哪里有问题?为什么输出不正常
7
求助!!这个程序出了到底什么问题?为什么运行不了?
4
实例中为什么不能修改原型基础类型的值?
2
此函数的形参是个结构变量,而不是指针,所以给形参赋值可以修改实参的值吗?
3
java,img.getWidth(null);为什么会报出空指针异常