作业帮 > 综合 > 作业

e=*(--S.top); 这样做会不会移动==改变top的位置

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/06/12 20:14:18
e=*(--S.top); 这样做会不会移动==改变top的位置
//获取栈顶
void GetTop(SqStack S,SElemType &e)
{
if(StackEmpty(S))exit(OVERFLOW);
e=*(--S.top);
}
e=*(--S.top); 这样做会不会移动==改变top的位置
这个句子就是
S.top=S.top-1;
e = *(S.top);
再问: 那这个函数是要获取栈顶,这样做就改变栈顶了吧!那就是错的咯?还有貌似S.top-1!=--S.top吧?
再答: 你只要getop,那么,去掉那个--就是了! e = *(S.top); S.top -1 并没有改变S.top,而后者改变了. 但两个在数值上是相等的!