假设我希望返回tos = tos-2,那么如何修改该代码?

int pop() {
    System.out.print("tos   = " +tos+"  ");
    if (tos<0) {
        System.out.println("Stack limit reached .. UNDERFLOW");
        return 0;}
    else {
        return stck[tos--];
    }
}

最佳答案

Java没有一元的“减2”运算符,因此您必须将其分为两行:

tos -= 2;
return stck[tos + 2];

或使用临时值来提高可读性:
tos -= 2;
int returnIndex = tos + 2;
return stck[returnIndex];

07-27 19:55