由於較多最新版本的編譯器不支持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;
}
測試結果: