abs
A1088遇到了一个坑。我使用绝对值函数:abs完成对Long long的取绝对值。查看了cplusplus上abs的介绍
发现可以使用。就开开心心的用。但是却不能AC。QAQ
解决
经过很长时间的查询资料和检查错误:我发现错误在abs上。
abs在C上是没有重载的,只有在C++上才有。所以
#include<cstdlib>
int main()
{
long long a = -5;
abs(a); //使用的是C的abs,int abs(int)
}
#include<cstdlib>
using namespace std;
int main()
{
long long a = -5; //使用using namespace std或std都行。
std::abs(a); //使用的是C++的abs
}
我的错误是又没写using namespace std,又没写std::abs,所以使用的C版本的abs,也就才到坑了。
用labs或llabs也行。