Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com recursão


pczfelipe

Pergunta

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!

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...