回 帖 发 新 帖 刷新版面

主题:数据结构一小问题

比如在课本中写的取栈顶元素的操作中
Status GetTop(SqStack S,SElemType &e){
if(S.top==S.base) return ERROR;
e=*(S.top-1);
return OK;
}//GetTop
在执行if语句的时候如果S.top==S.base时,下面应该不执行,可是如果按这个程序下面的又继续执行,这是怎么回事啊?

回复列表 (共2个回复)

沙发

S.top==S.base时下面是不执行,但不等于时就要执行了!
如果栈为空,就返回ERROR,不执行下面的代码了;如果栈不为空,就跳过这个if条件继续执行下面的程序直到结束!

板凳

栈为空return ERROR,不空执行下面的。。。

我来回复

您尚未登录,请登录后再回复。点此登录或注册