C++ primer(第五版) 练习 3.39
题目:编写一段程序,比较两个string对象。再编写一段程序,比较两个C风格字符串的内容。
答:
#include <iostream>
#include <cstring>
#include <string>
using std::cout;
using std::cin;
using std::endl;
using std::string;
using std::strcmp;
int main()
{
string str1{ "Hello World" }, str2{ "Hello C Style" };
char a[] = "Hello World";
char b[] = "Hello C Style";
//以下是比较两个string字符串。
cout << "两个string对象的比较结果为:" << endl;
if (str1 > str2)
{
cout << str1 << "大于" << str2 << endl;
}
else
{
cout << str1 << "小于" << str2 << endl;
}
cout << endl;
//以下是比较两个string字符串。
cout << "两个C风格字符串的比较结果为:" << endl;
if (strcmp(a, b) == 0)
{
for (auto a : a)
cout << a;
cout << "等于";
for (auto b : b)
cout << b;
cout << endl;
}
if (strcmp(a, b) > 0)
{
for (auto a : a)
cout << a;
cout << "大于";
for (auto b : b)
cout << b;
cout << endl;
}
if (strcmp(a, b) < 0)
{
for (auto a : a)
cout << a;
cout << "小于";
for (auto b : b)
cout << b;
cout << endl;
}
cout << endl;
return 0;
}
执行结果: