#include<iostream>
using namespace std;
int main()
{
char ss[30],st[3];
scanf("%s",ss);
cout<<ss<<endl;
/*
//注意这里getchar()的重要性,若是没有,上面ss输入换行,st的输入也被结束了,即st成了空串
输入asd然后回车,没有getchar()时以为这个回车结束了scanf(),注意这里的gets(),实际上回车也被gets()给读入了。
表示还不是很懂,姑且先这么理解了
*/
getchar();
gets(st);
cout<<st<<endl;
return 0;
}
字符串 gets(),最恨字符串神么的了
最新推荐文章于 2024-03-31 12:44:13 发布
本文通过一个简单的C++代码示例,探讨了使用`gets()`函数时可能遇到的问题,特别是关于如何处理输入的换行符。如果没有使用`getchar()`来消耗掉换行符,`gets()`会将回车字符一起读入字符串,导致后续输入的字符串变成空串。作者表达了对字符串处理函数的理解困惑,并鼓励进一步学习。
532

被折叠的 条评论
为什么被折叠?



