按照上面的代碼如果我輸入: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 關注
- 805 瀏覽
添加回答
舉報
0/150
提交
取消