我想要反转字符串数组结果,但是当我在在线编译器中运行此代码时,它说" strrev未被声明"。我不明白这一点。
if (something) {
$scope.customClass = 'active custom-class1';
} else {
$scope.customClass = 'deactive custom-class2';
}
答案 0 :(得分:0)
strrev
来自哪里?它不属于标准库。您必须包含定义它的头文件,并包含它。
您正在使用C ++(cout
),因此不要使用char数组和strlen,而是使用std :: string。 (您的文件顶部需要#include <string>
)
for(int j=0;j<test;j++) // Life is easier if you get in the habit of writing loops like this
{
std::string input; // Don't declare variables until you need them.
std::cin >> input;
// Initialize 'result' as the reverse of input directly.
const std::string result(input.crbegin(), input.crend());
const char* const answer = (input == result) ? "Yes" : "No";
std::cout << "Case " << (j+1) << ": " answer << std::endl; // Offset test case for output.
}
您会注意到我的代码比您的代码短 - 我让图书馆几乎完成所有繁重的工作。我也避免using namespace std
。从长远来看,如果你把它留下来,它会让你的代码更清晰。
我也很想写一个函数fromCin
,它返回字符串。然后我会编写const std::string input = fromCin();
,它有可爱的结果,循环中的所有变量都是常量。