能帮看下这段代码为什么输出乱码了么

sickchick 2017-11-27 11:56:06
代码如下
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> v1;
vector<char> v2;
vector<double> v3;
int size,n1;
char n2;
double n3;
cin >> size;
for (int c = 0;c != size;c++)
{
cin >> n1;
v1.push_back(n1);
}
cin >> n1 >> size;
for (int c = 0;c != size;c++)
{
cin >> n2;
v2.push_back(n2);
}
cin >> n2 >> size;
for (int c = 0;c != size;c++)
{
cin >> n3;
v2.push_back(n3);
}
cin >> n3; // 输入数据

for (auto a = v1.size() - 1;a != -1;a --)
cout << v1[a] << " ";
cout << endl;
for (auto a = v1.size() - 1;a != -1;a --)
{
if (v1[a] != n1)
cout << v1[a] << " ";
}
cout << endl; //输出int型的结果

for (auto a = v2.size() - 1;a != -1;a --)
cout << v2[a] << " ";
cout << endl;
for (auto a = v2.size() - 1;a != -1;a --)
{
if (v2[a] != n1)
cout << v2[a] << " ";
}
cout << endl; //输出char型的结果

for (auto a = v3.size() - 1;a != -1;a --)
cout << v3[a] << " ";
cout << endl;
for (auto a = v3.size() - 1;a != -1;a --)
{
if (v3[a] != n1)
cout << v3[a] << " ";
}
cout << endl; //输出double型的结果

return 0;
}

是vector的使用问题么,刚开始学C艹,求解答
...全文
169 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
adu_add 2017-11-28
  • 打赏
  • 举报
回复
V3想要Cin的地方,使用了V2接收; V2接收1.2 3.4 5.6 7.8时,分别截断为1 3 5 7。 1 3 5 7对应的ascii码字符为乱码。
adu_add 2017-11-28
  • 打赏
  • 举报
回复
V3想要Cin的地方,使用了V2接收,然后输出V3,v3因为没有赋值,所以输出了异常值。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧