【发布时间】:2014-10-14 21:42:59
【问题描述】:
我编写了这段代码,但输出没有按预期出现。该函数递归地返回负数。但它并没有返回应有的状态。
size_t recursive_x(stack<int> mystack){
int count=0;
if(!mystack.empty()){
if(mystack.top()<0){
count+=1;
}
mystack.pop();
count+=recursive_x(mystack);
}cout<<count<<endl;
return count;
}
int main(){
stack<int> mystack;
mystack.push(9);
mystack.push(-2);
mystack.push(-2);
mystack.push(1);
mystack.push(-3);
mystack.push(-1);
mystack.push(99);
mystack.push(-1);
mystack.push(1);
mystack.push(1);
recursive_x(mystack);
}
输出应该是 5,但它是这样来的:
输出:
0
0
1
2
2
3
4
4
5
5
5
【问题讨论】:
-
你甚至没有调用这个函数。
-
抱歉忘记写在这里了。
-
阅读此内容:sscce.org,然后更新您的问题。我还建议将您的标题更改为更具描述性的名称;你所拥有的几乎可以描述这个网站上的每一个问题。
标签: c++ data-structures stack