我有这个问题,我尝试将char更改为int,但没有任何反应。 这是代码:
#include <iostream>
#include <vector>
using namespace std;
vector<int> m,n;
void my_f()
{
bool *quad; quad=new bool; *quad=false;
if(*quad)
{
char *v; v=new char;
bool *vv; vv=new bool; *vv=false;
while(!*vv)
{
cin >> *v;
if(*v>48 && *v<57)
{*vv=true; m.push_back((int)*v); n.push_back((int)*v);}
}
delete v; delete vv;
}
else
{
char *v,*w; v=new char;w=new char;
bool *vv; vv=new bool; *vv=false;
while(!*vv)
{
cin >> *v;cin >> *w; //input: 2 1
if(*v>48 && *v<57 && *w>48 && *w<57)
{*vv=true; m.push_back(*v); n.push_back(*w); cout <<"si";}
cout << *v << *w << endl; // output: 2 1
}
delete v; delete w; delete vv;
}
cout << m[0]<<n[0]; // output: 50 49
}
我在迭代中尝试这个:
if(*v=='0' || *v=='1' || *v=='2' || *v=='3' || *v=='4' || *v=='5' || *v=='6' || *v=='7' || *v=='8' || *v=='9'
|| *w=='0' || *w=='1' || *w=='2' || *w=='3' || *w=='4' || *w=='5' || *w=='6' || *w=='7' || *w=='8' || *w=='9')
{...}
这也在 push_back(); :
中m.push_back(*v); n.push_back(*w);
m.push_back((int)*v); n.push_back((int)*w);
m.push_back(static_cast<int>(*v)); n.push_back(static_cast<int>(*w));
我在 m [0] 和 n [0] 中得到相同的输出,ACSII表值
这不是重复,因为我证明了这个论坛中的所有提示,例如我在下方显示