c++队列出现错误 在VS2015上面出现debug assertion failed

#include<iostream>#include<cstdio>#include<functional>#include<algorithm>#include<que... #include<iostream>
#include<cstdio>
#include<functional>
#include<algorithm>
#include<queue>
using namespace std;
queue <int > a;
int main()
{
int j = 0;
scanf_s("%d", &j);
for (int i = 0;i < j;i++)
{
int m = 0;
scanf_s("%d", &m);
a.push(m);
}
while (!a.empty())
{
cout<<a.front()<<" ";
a.pop();
int x = a.front();
a.push(x);
a.pop();
}
return 0;

}

代码如上
展开
 我来答
仙戈雅3n
2015-08-12 · TA获得超过5790个赞
知道大有可为答主
回答量:2398
采纳率:75%
帮助的人:895万
展开全部
#include<iostream>
#include<cstdio>
#include<functional>
#include<algorithm>
#include<queue>
using namespace std;
queue <int> a;
int main()
{
int j = 0;
int m = 0;  // 把声明m的代码移出来,避免重复声明导致内存消耗

scanf_s("%d", &j);
for (int i = 0; i < j; i++)
{
scanf_s("%d", &m);
a.push(m);
}




while (!a.empty())
{
cout << a.front() << " ";  // 输出队列首元素
a.pop(); // 从队列里移除队头元素

// 注释掉下面有逻辑问题的代码即可正常运行。
//int x = a.front();
//a.push(x);
//a.pop();
}

system("pause");  // 这行是新加的,让屏幕暂停
return 0;

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式