【发布时间】:2017-11-28 17:07:20
【问题描述】:
从第一行输出来看,它似乎将一个空字符作为第一个字符串。也正因为如此,它缺少它应该作为输入的最后一个字符串。我可能会错过 getline 的使用,但我不确定,如果有任何帮助,我们将不胜感激。
int main() {
short int t,i;
cin>>t;
string a;
while(t–)
{
getline(cin,a);
cout<<"length of string is "<<a.length()<<endl;
for(i=0;i<a.length()/2;i+=2)
{
cout<<a[i];
}
cout<<endl;
}
return 0;
}
输入
4 你好 理解 思考 编程输出
字符串长度为 0 字符串长度为 5 H 字符串长度为 10 udr 字符串长度为 5 吨【问题讨论】:
-
在您执行
cin>>t;之后,缓冲区仍包含换行符序列,然后由getline()读取。 -
看看右边的相关问题。