Meu programa para converter decimal para binario ficou assim, não estou conseguindo entender muito bem recursão
int main(){
int n;
scanf("%d", &n);
printf("%d", bin(n));
}
int bin(int num){
if(num==1){
return 1;
}
else{
printf("%d",num%2);
return bin(num/2);
}
}
porem assim ele imprime o numero binario ao contario, ao invez de imprimir por exemblo 1010 ele imprime 0101.
Gostaria de saber o por que, e como corrigir e também entender porque o codigo abaixo funciona
if(num==1){
return 1;
}
else{
return bin(num/2)*10+num%2;
}
OBRIGADO!