Dear All,
I have written a program for decimal to BCD conversion of numbers in C (Dev C++ IDE). My code hangs after execution, I have debugged the code but found no errors.
Kindly check the below code and point out the errors:
Code:
#include<stdio.h>
#include<stdlib.h>
int *dectobin(int dig);
int main()
{
int n,dig,i=0;
int bcd[100]={0},b[100]={0};
printf("Enter the number to be converted into BCD");
scanf("%d",&n);
while(n!=0)
{
dig=n%10;
n=n/10;
b[i]=dectobin(dig);
bcd[i]=b[i];
i=i+1;
}
for(;i>=0;i--)
{
printf("%d/t",bcd[i]);
}
system("pause");
return 0;
}
int *dectobin(int dig)
{
int r,i=0,j=0;
int array[100]={0};
static int reversearray[100]={0};
while(dig!=0)
{
array[i]=dig%2;
dig=dig/2;
i=i+1;
}
for(;i>=0;i++)
{
reversearray[j]=array[i];
j+=1;
}
return reversearray;
}