C语言编程,栈的问题

有一个栈s,想通过一次出栈的方式输出显示栈的内容,但是之后S还要用,所以不能改变,就将它付给了另一个栈P,通过依次出栈P来显示,但是总是出现错误,求解答!!但是直接通过出栈S显示则没有错误!!
stack s,q;
都初始化过了;
q=s;
下面是显示子程序;
void xianshi(stack q)
{
elemtype x;
while(!stack_empty(q)) //输出从初始状态到目标状态的路径
{
x=pop(q);
printf("%2d,%2d,%2d\n",x.x,x.y,x.z);
}

}

对于栈来说,通常的赋值都不是深度拷贝,仅仅是引用拷贝,那对任何一个引用操作都是操作栈本身。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜