由于较多最新版本的编译器不支持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;
}
测试结果: