function
<cstdlib>

abs

int abs (int n);
     int abs (     int n);
long int abs (long int n);
          int abs (          int n);
     long int abs (     long int n);
long long int abs (long long int n);
Absolute value
Returns the absolute value of parameter n ( /n/ ).

In C++, this function is also overloaded in header <cmath> for floating-point types (see cmath abs), in header <complex> for complex numbers (see complex abs), and in header <valarray> for valarrays (see valarray abs).

Parameters

n
Integral value.

Return Value

The absolute value of n.

Portability

In C, only the int version exists.
For the long int equivalent see labs.
For the long long int equivalent see llabs.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
/* abs example */
#include <stdio.h>      /* printf */
#include <stdlib.h>     /* abs */

int main ()
{
  int n,m;
  n=abs(23);
  m=abs(-11);
  printf ("n=%d\n",n);
  printf ("m=%d\n",m);
  return 0;
}


Output:

n=23
m=11

Data races

Concurrently calling this function is safe, causing no data races.

Exceptions (C++)

No-throw guarantee: this function throws no exceptions.

If the result cannot be represented by the returned type (such as abs(INT_MIN) in an implementation with two's complement signed values), it causes undefined behavior.

See also