按照上面的代码如果我输入:Hello World Here I Come我理解的是输出:Hello World Here I Come 为什么运行的时候输出的是Hello World
1 回答
慕斯王
TA贡献1864条经验 获得超2个赞
你好,关键的地方在于:
for(int i = 0; i < q.size(); i++) { cout << q.front(); q.pop(); }
你使用了for循环进行输出,但是要知道,你在for循环里q.pop() 之后q.size()就少一位了呀,所以for循环执行的次数根本没有25次,当执行到World的最后一个单词d的时候,i已经和q.size()一样大了。
输出队列的方法应该是while循环:
while(q.size()>0) { cout<<q.front(); q.pop(); }
- 1 回答
- 0 关注
- 756 浏览
添加回答
举报
0/150
提交
取消