cin的读取不会读取"\n"
但是getline(cin,str)以"\n"结束,
所以cin后使用getline(cin,str)导致str读取到"\n",str为空
如下
int main() {//加权的意思时乘权重
int n;
string ID;
ID.resize(100);
cin >> n;
//getchar();
for (int i = 0; i < n; i++) {
getline(cin, ID);
cout << addPow(ID) << endl;
}
}
解决的方法就是在cin后用getchar()读取cin后的"\n",使得getline可以正常读取,如上