#include <iostream>
#include <string>
using std::cin;
using std::string;
int main()
{
string str;
getline(cin, str);
std::cout << str << std::endl;
cin >> str;
std::cout << str << std::endl;
return 0;
}
3.3
输入运算符:从第一个非空白字符读取到下一个非空白字符.
getline函数:读取直到遇见一个换行符.(将换行符也读取进来了)
3.4
#include <iostream>
#include <string>
using std::cin;
using std::string;
using std::cout;
using std::endl;
int main()
{
string str1, str2;
cin >> str1 >> str2;
if (str1 == str2)
cout << "=" << endl;
else
{
cout << "!=" << endl;
if (str1 > str2)
cout << str1 << endl;
else
cout << str2 << endl;
}
if (str1.size() == str2.size())
cout << "=" << endl;
else
{
cout << "!=" << endl;
if (str1.size() > str2.size())
cout << str1 << endl;
else
cout << str2 << endl;
}
}
3.5
#include <iostream>
#include <string>
using std::cin;
using std::string;
using std::cout;
using std::endl;
int main()
{
string result, str;
/*while (cin >> str)
result += str;
cout << result << endl;*/
while (cin >> str)
result = result + str + " ";
cout << result << endl;
}
3.6
#include <iostream>
#include <string>
using std::cin;
using std::string;
using std::cout;
using std::endl;
int main()
{
string str{ "hello"};
for (auto& i : str)
{
i = 'X';
}
cout << str << endl;
return 0;
}
3.7
原字符内容不会有任何变化
3.8
#include <iostream>
#include <string>
using std::cin;
using std::string;
using std::cout;
using std::endl;
int main()
{
string str{ "hello"};
auto i = str.size();
i = 0;
while (i != str.size())
{
str[i] = 'X';
++i;
}
cout << str << endl;
return 0;
}
#include <iostream>
#include <string>
using std::cin;
using std::string;
using std::cout;
using std::endl;
int main()
{
string str{ "hello"};
auto i = str.size();
i = 0;
for (; i != str.size(); i++)
{
str[i] = 'X';
}
cout << str << endl;
return 0;
}
范围for简洁,不容易出错,逻辑上也容易理解
3.9
不合法,s是空字符,访问空字符的行为是未定义的
3.10
#include <iostream>
#include <string>
#include <cctype>
using std::cin;
using std::string;
using std::cout;
using std::endl;
int main()
{
string str;
cin >> str;
for (auto i : str)
{
if (!ispunct(i))
cout << i;
}
cout << endl;
}
3.11
合法 类型是const char&