请教一下数据结构中栈的一个标准

请问一下数据结构中栈的一个标准
我以前在网上看过资料,学过一点数据结构,上次考试,一个题目:栈为空的条件,答:top==0。可是错了,答案是:top==-1。可是我在别的书上看到的是top==0,指向的是下一个入栈的位置,而我们发的书和我买的另一本书上却是指向最后入栈的元素位置。请问这个问题有没有一个标准

------解决方案--------------------
好果是顺序栈,top==0表示空栈不太好
------解决方案--------------------
EmptyStack(s)//如果s为空栈返回一个常数,否则返回0.也就是说一般都是用top==n(n为常数)表示空栈的
------解决方案--------------------
没有标准,不过一般指向栈顶元素的下一个位置
------解决方案--------------------
原因是啥就是啥呗。和栈的实现有关。
------解决方案--------------------
因为数组开头都是0,所以习惯上会从0开始记,而且那么要标记与正整数不同,那么就应该是负数了,一般是-1。
------解决方案--------------------
探讨

2楼的,这个谁都知道,可是0和-1都是常数。
3楼和我的习惯一样的
1楼,请问为什么不好

------解决方案--------------------
考试的话 如果是写程序的题 还是用EmptyStack(s)吧