Ir ao conteúdo
  • Cadastre-se

Erro em tempo de execução em função recursiva


PV Sobrinho

Posts recomendados

Nesta função recursiva procura-se osaber o retorno de y, no meu teste de mesa á mão deu o valor 3 , mas quando foi colocar no devc++, ao informar o valor 4 e pressionar enter o programa para de responder e fecha, alguem poderia me ajudar?

#include<stdio.h>

int y;
int expo(int e){

if(e==1)
y=3;
else
y = (int)3*expo(--e);
printf("%d\n",y);
return y;
}

int main(){
int x,z;
printf("\n numero: ");
scanf("%d",x);
z=expo(x);

}

Link para o comentário
Compartilhar em outros sites

Um "pequeno" probleminha com a leitura da variável:

scanf("%d", &x);

LNW

Obrigado, mas fiz um outro melhorado, e as vezes quando aplico formatação algums caracteres não são postos. de qualquer forma grato pela ajuda.


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

int fatorial(int b, int e){
if(e==0 || b==1){
return 1;

}else{
e--;
return 2*fatorial(b,e);
}
}

int main() {
int x, y, f;
printf("informe base ");
scanf("%d",&x);
printf("\n\n informe expoente ");
scanf("%d",&y);
f = fatorial(x,y);
printf("\n resultado: %d \n\n",f);
if(f==0){
printf("\n AVISO !!! -------------------\nvoce inseriu valores muito altos, o retorno foi 0 \n\n\n");
printf("\n não foi especificado este tamanho de memoria, informe outros valores e tente novamente");
}
system("pause");
return 0;
}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!