由于较多最新版本的编译器不支持gets()函数了,所以大家可以用下面这三种方法替代。(可以读空格,到换行结束)自己感觉哪种好记就用哪个吧。
1.scanf();
#include <cstdio> using namespace std; int main() { char a[100],c; int n=0; while(~scanf("%c",&c)) { if(c=='\n') break; a[n++]=c; } printf("%d\n",n); return 0; }
测试结果:
2.scanf("%[^\n]");
#include <cstdio> #include <cstring> using namespace std; int main() { char a[100]; int n=0; scanf("%[^\n]",a); n=strlen(a); printf("%d\n",n); return 0; }
测试结果:
3.getline();
#include <cstdio> #include <cstring> #include <iostream> using namespace std; int main() { string a; getline(cin,a); int n=a.size(); printf("%d\n",n); return 0; }
测试结果: