这道题有两个写法:
第一个是用cin.getline(),参数是字符数组类型。
第二个,用getline()把输入读入到string s里,再用s.c_str()转成const char*,传递给print方法。
方法1:
#include<iostream>
using namespace std;
const int N=110;
char str[N];
void print(char str[])
{
for(int i=0;str[i]!='\0';i++)
cout << str[i];
}
int main()
{
//freopen("xxx.in","r",stdin);
//freopen("yyy.out","w",stdout);
cin.getline(str,N);
print(str);
//fclose(stdin);
//fclose(stdout);
return 0;
}
方法2:
#include<iostream>
using namespace std;
const int N=110;
char str[N];
void print(const char* str)
{
for(int i=0;str[i]!='\0';i++)
cout << str[i];
}
int main()
{
//freopen("xxx.in","r",stdin);
//freopen("yyy.out","w",stdout);
string s;
getline(cin,s);
print(s.c_str());
//fclose(stdin);
//fclose(stdout);
return 0;
}