# C Program to Convert Hexadecimal to Octal

## Hexadecimal to Octal Conversion in C

To convert hexadecimal number to octal number in C programming, you have to ask to the user to enter the hexadecimal number to convert it into octal number to display the equivalent value in octal

## C Programming Code to Convert Hexadecimal to Octal

Following C program ask to the user to enter hexadecimal Number to convert it into octal, then display the result on the screen. Here, first we convert the hexadecimal number into decimal number then we convert it into octal number

```/* C Program - Hexadecimal to Octal Conversion */

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<math.h>
int hex_to_oct(char hex[]);
void main()
{
clrscr();
char hex[20],c;
int n;
printf("Enter Hexadecimal Number : ");
scanf("%s",hex);
printf("Equivalent Octal Value = %d",hex_to_oct(hex));
getch();
}
int hex_to_oct(char hex[])
{
int i,len, dec=0, oct=0;
for(len=0; hex[len]!='\0'; len++);
for(i=0; hex[i]!='\0'; i++,len--)
{
if(hex[i]>='0' && hex[i]<='9')
{
dec= dec + (hex[i]-'0')*pow(16,len-1);
}
if(hex[i]>='A' && hex[i]<='F')
{
dec = dec + (hex[i]-55)*pow(16,len-1);
}
if(hex[i]>='a' && hex[i]<='f')
{
dec = dec + (hex[i]-87)*pow(16,len-1);
}
} /* Now dec contains the decimal value of given hexadecimal number. */
i=1;
while(dec!=0)
{
oct = oct + (dec%8)*i;
dec = dec/8;
i = i*10;
}
return oct;
}```

When the above c program is compile and executed, it will produce the following result:

### Same Program in Other Programming Language

You may also like same program in other programming languages:

Tools
Calculator