C++关于vector的输入和输出问题!!
#include<iostream>#include<vector>usingnamespacestd;intmain(){chari;vector<char>v1;v1...
#include<iostream>
#include<vector>
using namespace std;
int main(){
char i;
vector<char> v1;
v1.push_back(i);
cin >> i;
cout << v1[i] << endl;
system("pause");
}
为何我无法输出v1?刚开始学vector所以不懂
其实我也不知道这样输入对不对... 展开
#include<vector>
using namespace std;
int main(){
char i;
vector<char> v1;
v1.push_back(i);
cin >> i;
cout << v1[i] << endl;
system("pause");
}
为何我无法输出v1?刚开始学vector所以不懂
其实我也不知道这样输入对不对... 展开
5个回答
展开全部
这个错误还是很明显的,楼主先把i的值存进vector,然后再给i赋值。所以当然什么都没有了,而且输出也不对,值是按顺序存进vector的,所以要顺序输出。
下面是完整代码:
#include<iostream>
#include<vector>
using namespace std;
int main(){
char i;
vector<char> v1;
cin >> i; // 要先给i赋值才能存进vector里
v1.push_back(i);
cout << v1[0] << endl; // 存进去的i在第零个位置
system("pause");
}
更多追问追答
追问
i多长都可以么?还是只能一个数?
追答
vector是一个容器,你定义成vector就表示用来存类型为char的变量。
你之前已经定义成char i了,所以i是一个字符型的变量。
展开全部
#include<iostream>
#include<vector>
using namespace std;
int main(){
char i;
vector<char> v1;
cout <<"input a char:";
cin>> i;//输入一个字符
v1.push_back(i); //存入vector
cout << v1[0] << endl; //按数组方式访问,第一个下标是0
system("pause");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
// 你可以这样使用
char i;
vector<char> v1; // 此时 v1.size() = 0;
v1.push_back('a'); // 此时 v1.size() = 1;
v1.push_back('b'); // 此时 v1.size() = 2;
v1.push_back('c'); // 此时 v1.size() = 3;
cin >> i;
if ( i < v1.size() ) // i只能小于v1.size(),才能访问到v1中的元素
{
cout << v1[i] << endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char i;
vector<char> v1;
v1.push_back(i); // i没有赋值
cin >> i; //现在才赋值
cout << v1[i] << endl; //vector类似数组,下标不能越界
vector<char> v1;
v1.push_back(i); // i没有赋值
cin >> i; //现在才赋值
cout << v1[i] << endl; //vector类似数组,下标不能越界
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-07-28
展开全部
输出应该是pop函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询