# C acos() function

## C acos() function - Calculate arccosine

The acos() function is used to calculate the arccosine of a given number, expressed in radians, in the range 0 to pi.

Syntax:

`double acos(double x)`

Parameters:

Name Description Required /Optional
x Value whose arccosine is to be calculated. Required

Return value from acos()

• Upon successful completion, the function return the arc cosine of x.
• The value of x must be between -1 and 1 inclusive.

Example: acos() function

The following example shows the usage of acos() function.

``````#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define MAX  1.0
#define MIN -1.0

int main(void)
{
double x, y;
printf("Input the value of x: ");
scanf( "%lf", &x );
y = acos(x);
if (x > MAX)
printf( "Error: %lf not in the range!\n", x );
else if (x < MIN)
printf( "Error: %lf not in the range!\n", x );
else
printf("acos(%lf) = %lf\n", x, y);
}
``````

Output:

```Input the value of x: 1
acos(1.000000) = 0.000000

Input the value of x: 1.5
Error: 1.500000 not in the range!

Input the value of x: -1.5
Error: -1.500000 not in the range!
```

C Programming Code Editor:

Previous C Programming: C math.h Home
Next C Programming: C asin()

﻿

## C Programming: Tips of the Day

What's the point of const pointers?

const is a tool which you should use in pursuit of a very important C++ concept:

Find bugs at compile-time, rather than run-time, by getting the compiler to enforce what you mean.

Even though it does not change the functionality, adding const generates a compiler error when you're doing things you didn't mean to do. Imagine the following typo:

```void foo(int* ptr)
{
ptr = 0;// oops, I meant *ptr = 0
}
```

If you use int* const, this would generate a compiler error because you're changing the value to ptr. Adding restrictions via syntax is a good thing in general. Just don't take it too far -- the example you gave is a case where most people don't bother using const.

Ref : https://bit.ly/33Cdn3Q