标签:ignore 20 int 美团 cin 空格 2022.08 字符串 getline
字符串 双指针的一道简单题
不过过程中遇到小问题
本题与力扣1768的交替合并字符串一样
算法不提
主要是ACM模式下的输入输出问题:
我写的是
int in = 0;
cin >> in;
string a,b;
cin.ignore();
getline(cin,a);
getline(cin,b);
不过要么超时要么有的测试用例不通过
而换成
int in = 0;
cin >> in;
string a,b;
cin.ignore();
cin >> a;
cin >> b;
就全部通过了
原因分析: 美团输入的分隔空白符可能是空格而不是换行 即 输入 : 4 abcd efgh
如果用getline的话就会导致 第二个getline 拿到的是空白;
结论: 输入中如果本身不带空格 就用cin读取
如果有空格 就用 getline(cin,s)读取 getline第一个空格无法忽略 需要用cin.ignore()去 吞掉。
结论
标签:ignore,20,int,美团,cin,空格,2022.08,字符串,getline 来源: https://www.cnblogs.com/black-worrior-2000/p/16608535.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。